diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-07-10 10:12:12 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-07-10 10:12:13 +0200 |
commit | 427bee6cb616d515ae04bc47193e35e19e1b519e (patch) | |
tree | 9b87feddefc5c07bf0f3b2c4a5d0bc2774b9f078 /src/quick/scenegraph/qsgrenderloop.cpp | |
parent | e1fbfc0156db55cb5d462a15e6142db097e8a61f (diff) | |
parent | 0ea494437736c51eb089a5245f8aac551ce6f909 (diff) |
Merge remote-tracking branch 'origin/5.3' into dev
Change-Id: Iba61035910c46627e5e1c3824757da7b3d573657
Diffstat (limited to 'src/quick/scenegraph/qsgrenderloop.cpp')
-rw-r--r-- | src/quick/scenegraph/qsgrenderloop.cpp | 6 |
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; |