aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/qsgrenderloop.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-07-10 10:12:12 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-07-10 10:12:13 +0200
commit427bee6cb616d515ae04bc47193e35e19e1b519e (patch)
tree9b87feddefc5c07bf0f3b2c4a5d0bc2774b9f078 /src/quick/scenegraph/qsgrenderloop.cpp
parente1fbfc0156db55cb5d462a15e6142db097e8a61f (diff)
parent0ea494437736c51eb089a5245f8aac551ce6f909 (diff)
Merge remote-tracking branch 'origin/5.3' into dev
Diffstat (limited to 'src/quick/scenegraph/qsgrenderloop.cpp')
-rw-r--r--src/quick/scenegraph/qsgrenderloop.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp
index b4cfd1c514..73b64b4f9b 100644
--- a/src/quick/scenegraph/qsgrenderloop.cpp
+++ b/src/quick/scenegraph/qsgrenderloop.cpp
@@ -93,8 +93,12 @@ void QSGRenderLoop::cleanup()
foreach (QQuickWindow *w, s_instance->windows()) {
QQuickWindowPrivate *wd = QQuickWindowPrivate::get(w);
if (wd->windowManager == s_instance) {
+ // windowDestroyed() triggers a sendPostedEvent(DeferredDelete),
+ // so wd will be null if the window was deleteLater()'ed
+ bool wasDeleted = wd->wasDeleted;
s_instance->windowDestroyed(w);
- wd->windowManager = 0;
+ if (!wasDeleted)
+ wd->windowManager = 0;
}
}
delete s_instance;