Revision 087aa1f3cb5975ef55e42db54487f737c93a4f0f authored by Kai Koehne on 20 November 2014, 10:08:13 UTC, committed by Jani Heikkinen on 20 November 2014, 15:14:46 UTC
Do not register new timers after closingDown() has been called. They
might call back into QEventDispatcherWin32 after the object has been
destructed, leading to crashes on exit.

registerSocketNotifier has a similar protection using
QCoreApplication::closingDown(). This however does not work in all cases,
because QEventDispatcher::closingDown() is called in
~QGuiApplication(), while QCoreApplication::is_app_closing is set
in ~QCoreApplication(). In between qt_call_post_routines() is called,
which might trigger new timers to be registered.

Task-number: QTBUG-42772
Change-Id: I91325fb10e38c117c1cbedfee272d0ab6a5ca8fa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
1 parent 52f5bf9
History
File Mode Size
bin
config.tests
dist
doc
examples
lib
mkspecs
qmake
src
tests
tools
util
.gitattributes -rw-r--r-- 151 bytes
.gitignore -rw-r--r-- 7.3 KB
.qmake.conf -rw-r--r-- 207 bytes
.tag -rw-r--r-- 12 bytes
INSTALL -rw-r--r-- 569 bytes
LGPL_EXCEPTION.txt -rw-r--r-- 1.2 KB
LICENSE.FDL -rw-r--r-- 22.4 KB
LICENSE.LGPLv21 -rw-r--r-- 26.2 KB
LICENSE.LGPLv3 -rw-r--r-- 7.9 KB
LICENSE.PREVIEW.COMMERCIAL -rw-r--r-- 30.8 KB
configure -rwxr-xr-x 225.2 KB
configure.bat -rw-r--r-- 3.3 KB
header.BSD -rw-r--r-- 2.0 KB
header.FDL -rw-r--r-- 1.2 KB
header.LGPL -rw-r--r-- 1.9 KB
header.LGPL-ONLY -rw-r--r-- 958 bytes
header.LGPL21 -rw-r--r-- 1.6 KB
header.LGPL3 -rw-r--r-- 1.3 KB
qtbase.pro -rw-r--r-- 7.7 KB
sync.profile -rw-r--r-- 3.1 KB

back to top