summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Trotsenko <alex1973tr@gmail.com>2021-09-09 17:14:07 +0300
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2021-09-13 12:09:06 +0000
commita1f6721fc8874d0c15b723db9908d090cd422585 (patch)
tree41dee66e6064fbdd27135159f9bf3b12a65cd353
parent54fc6ef3c60d868b84dc95e688fa7cd9e55e0663 (diff)
-rw-r--r--src/corelib/kernel/qwineventnotifier.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/corelib/kernel/qwineventnotifier.cpp b/src/corelib/kernel/qwineventnotifier.cpp
index 3371e101b6..073b8f61ab 100644
--- a/src/corelib/kernel/qwineventnotifier.cpp
+++ b/src/corelib/kernel/qwineventnotifier.cpp
@@ -41,6 +41,7 @@
#include "qcoreapplication.h"
#include "qthread.h"
+#include <QPointer>
QT_BEGIN_NAMESPACE
@@ -238,9 +239,10 @@ bool QWinEventNotifier::event(QEvent * e)
// when the callback is queued.
d->registered = false;
+ QPointer<QWinEventNotifier> alive(this);
emit activated(d->handleToEvent, QPrivateSignal());
- if (d->enabled && !d->registered) {
+ if (alive && d->enabled && !d->registered) {
SetThreadpoolWait(d->waitObject, d->handleToEvent, NULL);
d->registered = true;
}