aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickwindowmanager.cpp
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@nokia.com>2012-04-13 15:46:47 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-13 16:26:39 +0200
commit519a2716d6ffa9f3556946f4f4da11e77e83023d (patch)
tree68414487f3f777682d81c3382e32f01f97e4b99b /src/quick/items/qquickwindowmanager.cpp
parentf19e6d72ac4fd2a606c9208dc61d6ce1520e1f18 (diff)
Fix broken wakeup() in threaded renderloop.
It is cruicial that the sync handshake between GUI and render does not get interrupted. If it does, the sync will happen with the GUI unlocked which leads to crashes. When the sync event comes through to the GUI afterwards the GUI will block waiting while the renderer is most likely already done with the sync, causing GUI to wait indefinitely. Change-Id: I00bf0c36088510609a9e6f4d0649b9aaeefcd241 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/quick/items/qquickwindowmanager.cpp')
-rw-r--r--src/quick/items/qquickwindowmanager.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/quick/items/qquickwindowmanager.cpp b/src/quick/items/qquickwindowmanager.cpp
index d075d3b64b..0a378f61ae 100644
--- a/src/quick/items/qquickwindowmanager.cpp
+++ b/src/quick/items/qquickwindowmanager.cpp
@@ -1121,7 +1121,7 @@ void QQuickRenderThreadSingleContextWindowManager::wakeup()
{
lockInGui();
isExternalUpdatePending = true;
- if (isRenderBlocked || isPostingSyncEvent)
+ if (isRenderBlocked)
wake();
unlockInGui();
}