summaryrefslogtreecommitdiff
path: root/cpp/src/IceStorm/TopicI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceStorm/TopicI.cpp')
-rw-r--r--cpp/src/IceStorm/TopicI.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/cpp/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp
index f5cef4a1201..83cc0c0390d 100644
--- a/cpp/src/IceStorm/TopicI.cpp
+++ b/cpp/src/IceStorm/TopicI.cpp
@@ -141,7 +141,13 @@ public:
// (see Meyers for details). If this is fixed then fix Flusher
// also.
//
- _subscribers.remove_if(::Ice::constMemFun(&Subscriber::invalid));
+ // remove_if doesn't work with handle types. remove_if also //
+ // isn't present in the STLport implementation
+ //
+ // _subscribers.remove_if(IceUtil::constMemFun(&Subscriber::invalid));
+ //
+ _subscribers.erase(remove_if(_subscribers.begin(), _subscribers.end(),
+ IceUtil::constMemFun(&Subscriber::invalid)), _subscribers.end());
for (SubscriberList::iterator i = _subscribers.begin(); i != _subscribers.end(); ++i)
{