[Libreoffice-commits] core.git: cppuhelper/source
Stephan Bergmann
sbergman at redhat.com
Sun Feb 17 02:14:23 PST 2013
cppuhelper/source/servicemanager.cxx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 80d81b40a1915eec599fc7004698ff113e5bb47f
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Sun Feb 17 11:13:53 2013 +0100
cppcheck: Iterator i used after element has been erased
Change-Id: Id8eb6a475dafcaddc98ddc48627fa8090e91cf4f
diff --git a/cppuhelper/source/servicemanager.cxx b/cppuhelper/source/servicemanager.cxx
index dcb7af9..ce4bf46 100644
--- a/cppuhelper/source/servicemanager.cxx
+++ b/cppuhelper/source/servicemanager.cxx
@@ -1567,6 +1567,9 @@ bool cppuhelper::ServiceManager::removeLegacyFactory(
}
assert(i->second.get() != 0);
clear = i->second;
+ if (removeListener) {
+ comp = i->second->component;
+ }
//TODO: The below leaves data_ in an inconsistent state upon exceptions:
removeFromImplementationMap(
&data_.services, i->second->info->services, i->second);
@@ -1576,9 +1579,6 @@ bool cppuhelper::ServiceManager::removeLegacyFactory(
data_.namedImplementations.erase(i->second->info->name);
}
data_.dynamicImplementations.erase(i);
- if (removeListener) {
- comp = i->second->component;
- }
}
if (comp.is()) {
removeEventListenerFromComponent(comp);
More information about the Libreoffice-commits
mailing list