Reopening, finally found the root cause of this it seems and LibreOffice
is not really innocent. At:

http://opengrok.libreoffice.org/xref/core/sd/source/ui/toolpanel/TaskPaneFocusManager.cxx#229

we are generating an equal_range on an unsorted container, just to
delete those in the next line. As erasing elements from that container
invalidates iterators that is clearly illegal and one has to wonder how
that ever worked at all.

Replacing line 229-230 with "mpLinks->erase(pWindow)" is not only
simpler, cleaner and easier to read, it might actually be legal. There
are some other abuses in that file that need a close look too.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1017125

Title:
  boost::unordered_multimap<>::erase(iterator, iterator) broken on
  quantal

To manage notifications about this bug go to:
https://bugs.launchpad.net/df-libreoffice/+bug/1017125/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to