When Qt is not driving the event dispatching, the event loop level of the thread will stay 0. As a result, we will not automatically bump the deferred delete event's scope level to 1 when the deferred delete happens from a code path that doesn't raise the scope level via QScopedScopeLevelCounter, leaving the event with loop and scope level 0. As we only process these 0+0 deferred delete events automatically from QCoreApplicationPrivate::execCleanup(), which is not going to be called when the app doesn't call QCoreAppliction::exec(), we were failing to process the deferred deletes both during the application's runtime, as well as on shutdown. Task-number: QTBUG-120124 Fixes: QTBUG-117975 Pick-to: 6.5 Change-Id: I2b8accb432517a48370923ee2d760f8e2e4a8055 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 7fac2fac9a512cef2d5cdefd9837d76f8be7de05) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
…
Description
Languages
C++
84.3%
HTML
4.9%
C
3.9%
CMake
3.6%
Objective-C++
2%
Other
0.8%