aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-06-22 11:20:43 +1000
committerAaron Kennedy <aaron.kennedy@nokia.com>2011-06-22 13:04:55 +1000
commit0a1e84d3a7c1da0a25414da579bba5154f190e79 (patch)
tree0cff89676a20faadecb5cc1e2418f42f332912f6
parentfad0a10d48f6d8c2cc485d9265c49792a3893eb4 (diff)
Make QSGCanvas::grabFrameBuffer() more reliable
-rw-r--r--src/declarative/items/qsgcanvas.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/declarative/items/qsgcanvas.cpp b/src/declarative/items/qsgcanvas.cpp
index a27b14bcbf..0500b752c7 100644
--- a/src/declarative/items/qsgcanvas.cpp
+++ b/src/declarative/items/qsgcanvas.cpp
@@ -2096,7 +2096,7 @@ void QSGCanvasRenderThread::run()
// but we don't want to lock an extra time.
wake();
- if (!d->animationRunning && !isExternalUpdatePending && !shouldExit) {
+ if (!d->animationRunning && !isExternalUpdatePending && !shouldExit && !doGrab) {
#ifdef THREAD_DEBUG
printf(" RenderThread: nothing to do, going to sleep...\n");
#endif
@@ -2335,7 +2335,7 @@ QImage QSGCanvasRenderThread::grab()
doGrab = true;
isPaintCompleted = false;
while (isRunning() && !isPaintCompleted) {
- if (!isRenderBlocked)
+ if (isRenderBlocked)
wake();
wait();
}