99d9a81e28
Calling Unbind() on another handler from the currently executing handler which had been bound after (and hence executed before) the handler being unbound resulted in a crash previously as the iterators used in the loop over all dynamic event handlers became invalid. Fix this by storing the dynamic event table entries in a vector instead of a list (which is also more memory and speed efficient anyhow) and null the deleted entries instead of removing them to avoid invalidating the iterators and only really remove them once we finish iterating. Closes #17229. |
||
---|---|---|
.. | ||
clone.cpp | ||
evthandler.cpp | ||
evtlooptest.cpp | ||
evtsource.cpp | ||
keyboard.cpp | ||
propagation.cpp | ||
stopwatch.cpp | ||
timertest.cpp |