QWinEventNotifier: fix crash on application shutdown
The event dispatcher can be null already but we may have outstanding QWinEventNotifier objects (like in a QProcess). Patch-By: Tamas Karpati Task-number: QTBUG-70214 Change-Id: I5e432e273def425ea334fffd154f34abfd6cb11a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>bb10
parent
44eeeb8e81
commit
948f8ce2ec
|
|
@ -256,6 +256,14 @@ static void CALLBACK wfsoCallback(void *context, BOOLEAN /*ignore*/)
|
|||
{
|
||||
QWinEventNotifierPrivate *nd = reinterpret_cast<QWinEventNotifierPrivate *>(context);
|
||||
QAbstractEventDispatcher *eventDispatcher = nd->threadData->eventDispatcher.load();
|
||||
|
||||
// Happens when Q(Core)Application is destroyed before QWinEventNotifier.
|
||||
// https://bugreports.qt.io/browse/QTBUG-70214
|
||||
if (!eventDispatcher) { // perhaps application is shutting down
|
||||
qWarning("QWinEventNotifier: no event dispatcher, application shutting down? Cannot deliver event.");
|
||||
return;
|
||||
}
|
||||
|
||||
QEventDispatcherWin32Private *edp = QEventDispatcherWin32Private::get(
|
||||
static_cast<QEventDispatcherWin32 *>(eventDispatcher));
|
||||
++nd->signaledCount;
|
||||
|
|
|
|||
Loading…
Reference in New Issue