summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/inc/calbck.hxx4
-rw-r--r--sw/source/core/attr/calbck.cxx11
2 files changed, 9 insertions, 6 deletions
diff --git a/sw/inc/calbck.hxx b/sw/inc/calbck.hxx
index cdf1e9b612dc..8843f2a45838 100644
--- a/sw/inc/calbck.hxx
+++ b/sw/inc/calbck.hxx
@@ -26,7 +26,7 @@
#include "ring.hxx"
#include "hintids.hxx"
#include <type_traits>
-#include <list>
+#include <vector>
#include <memory>
@@ -265,7 +265,7 @@ namespace sw
typedef std::unique_ptr<SwDepend> pointer_t;
#endif
SwClient& m_rToTell;
- std::list<pointer_t> m_vDepends;
+ std::vector<pointer_t> m_vDepends;
public:
WriterMultiListener(SwClient& rToTell)
: m_rToTell(rToTell) {}
diff --git a/sw/source/core/attr/calbck.cxx b/sw/source/core/attr/calbck.cxx
index 8f97761e38fe..ca75f06904df 100644
--- a/sw/source/core/attr/calbck.cxx
+++ b/sw/source/core/attr/calbck.cxx
@@ -314,10 +314,13 @@ bool sw::WriterMultiListener::IsListeningTo(const SwModify* const pBroadcaster)
void sw::WriterMultiListener::EndListening(SwModify* pBroadcaster)
{
- m_vDepends.remove_if( [&pBroadcaster](const pointer_t& pListener)
- {
- return pListener->GetRegisteredIn() == nullptr || pListener->GetRegisteredIn() == pBroadcaster;
- });
+ m_vDepends.erase(
+ std::remove_if( m_vDepends.begin(), m_vDepends.end(),
+ [&pBroadcaster](const pointer_t& pListener)
+ {
+ return pListener->GetRegisteredIn() == nullptr || pListener->GetRegisteredIn() == pBroadcaster;
+ }),
+ m_vDepends.end());
}
void sw::WriterMultiListener::EndListeningAll()