Kaydet (Commit) 80d81b40 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

cppcheck: Iterator i used after element has been erased

Change-Id: Id8eb6a475dafcaddc98ddc48627fa8090e91cf4f
üst a7194650
...@@ -1567,6 +1567,9 @@ bool cppuhelper::ServiceManager::removeLegacyFactory( ...@@ -1567,6 +1567,9 @@ bool cppuhelper::ServiceManager::removeLegacyFactory(
} }
assert(i->second.get() != 0); assert(i->second.get() != 0);
clear = i->second; clear = i->second;
if (removeListener) {
comp = i->second->component;
}
//TODO: The below leaves data_ in an inconsistent state upon exceptions: //TODO: The below leaves data_ in an inconsistent state upon exceptions:
removeFromImplementationMap( removeFromImplementationMap(
&data_.services, i->second->info->services, i->second); &data_.services, i->second->info->services, i->second);
...@@ -1576,9 +1579,6 @@ bool cppuhelper::ServiceManager::removeLegacyFactory( ...@@ -1576,9 +1579,6 @@ bool cppuhelper::ServiceManager::removeLegacyFactory(
data_.namedImplementations.erase(i->second->info->name); data_.namedImplementations.erase(i->second->info->name);
} }
data_.dynamicImplementations.erase(i); data_.dynamicImplementations.erase(i);
if (removeListener) {
comp = i->second->component;
}
} }
if (comp.is()) { if (comp.is()) {
removeEventListenerFromComponent(comp); removeEventListenerFromComponent(comp);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment