From e6a417692652d925c6baed33d153f86d78244134 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 5 Dec 2013 12:53:09 -0600 Subject: [PATCH] Mark item as dirty when nodes are cleaned Otherwise they may not be recreated in the correct configuration. Change-Id: Ib103b1874d7f104680eae7b6f43f722b5fa93bf2 Done-with: Aaron Kennedy Reviewed-by: Gunnar Sletta --- src/quick/items/qquickwindow.cpp | 2 ++ src/quick/scenegraph/qsgthreadedrenderloop.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index c111090..dfc70d7 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2289,6 +2289,8 @@ void QQuickWindowPrivate::cleanupNodesOnShutdown(QQuickItem *item) p->groupNode = 0; p->paintNode = 0; + + p->dirty(QQuickItemPrivate::Window); } for (int ii = 0; ii < p->childItems.count(); ++ii) diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp index 2759d82..9426db7 100644 --- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp +++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp @@ -402,6 +402,7 @@ bool QSGRenderThread::event(QEvent *e) case WM_TryRelease: { QSG_RT_DEBUG("WM_TryRelease"); mutex.lock(); + wm->m_locked = true; WMTryReleaseEvent *wme = static_cast(e); if (!window || wme->inDestructor) { QSG_RT_DEBUG(" - setting exit flag and invalidating GL"); @@ -413,6 +414,7 @@ bool QSGRenderThread::event(QEvent *e) QSG_RT_DEBUG(" - not releasing anything because we have active windows..."); } waitCondition.wakeOne(); + wm->m_locked = false; mutex.unlock(); return true; } -- 2.7.4