Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.0.2
-
None
Description
Deferred delete events are not handled if they were posted from a glib event callback execution cycle.
loop level for event = loop level for current thread.
I believe the loop level should be incremented before calling g_main_context_iteration in QEventDispatcherGlib::processEvents.
QScopedLoopLevelCounter loopLevelCounter(threadData);
Test App supplied to reproduce the problem.
unzip and ./run
Attachments
Issue Links
- relates to
-
QTBUG-18434 QObject::deleteLater called from a function scheduled by g_idle_add --> QObject won't get deleted the next time the main loop spins
- Closed
- resulted in
-
QTBUG-120124 Improvements to deferred deletions / deleteLater()
- Open