diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-06-22 11:20:43 +1000 |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-06-22 13:04:55 +1000 |
commit | 0a1e84d3a7c1da0a25414da579bba5154f190e79 (patch) | |
tree | 0cff89676a20faadecb5cc1e2418f42f332912f6 | |
parent | fad0a10d48f6d8c2cc485d9265c49792a3893eb4 (diff) |
Make QSGCanvas::grabFrameBuffer() more reliable
-rw-r--r-- | src/declarative/items/qsgcanvas.cpp | 4 |
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(); } |