Hello, Cppcheck reported this: cppuhelper/source/servicemanager.cxx 1578 eraseDereference error Iterator 'i' used after element has been erased.
(+ this but I don't know if we can do something: 1216 unusedScopedObject error Instance of 'Parser' object is destroyed immediately. 1390 unusedScopedObject error Instance of 'Parser' object is destroyed immediately) Here are the lines: 1563 Data::DynamicImplementations::iterator i( 1564 data_.dynamicImplementations.find(factoryInfo)); 1565 if (i == data_.dynamicImplementations.end()) { 1566 return isDisposed(); 1567 } 1568 assert(i->second.get() != 0); 1569 clear = i->second; 1570 //TODO: The below leaves data_ in an inconsistent state upon exceptions: 1571 removeFromImplementationMap( 1572 &data_.services, i->second->info->services, i->second); 1573 removeFromImplementationMap( 1574 &data_.singletons, i->second->info->singletons, i->second); 1575 if (!i->second->info->name.isEmpty()) { 1576 data_.namedImplementations.erase(i->second->info->name); 1577 } 1578 data_.dynamicImplementations.erase(i); 1579 if (removeListener) { 1580 comp = i->second->component; 1581 } see http://opengrok.libreoffice.org/xref/core/cppuhelper/source/servicemanager.cxx#1554 Any idea how this should be changed? Julien -- View this message in context: http://nabble.documentfoundation.org/Cppcheck-Iterator-i-used-after-element-has-been-erased-in-servicemanager-cxx-cppuhelper-module-tp4037867.html Sent from the Dev mailing list archive at Nabble.com. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice