diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-06-19 08:20:16 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-06-19 08:20:16 +0200 |
commit | 7d28940a316128c8ee43def83a71843711d702c9 (patch) | |
tree | 613537bedaeccae8711cb2009614c8f617374adf /src/quick/scenegraph/qsgrenderloop.cpp | |
parent | 4199572d64d46bfa2efdcf7c910e81e5b8fb5547 (diff) | |
parent | 1e0685136d0debb2a3b62d9f4650c95afe41913b (diff) |
Merge 5.9 into 5.9.1
Change-Id: I4154bf5f6f0b74176e333541372511d47d408546
Diffstat (limited to 'src/quick/scenegraph/qsgrenderloop.cpp')
-rw-r--r-- | src/quick/scenegraph/qsgrenderloop.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp index c27700cf84..bc65dc1bc3 100644 --- a/src/quick/scenegraph/qsgrenderloop.cpp +++ b/src/quick/scenegraph/qsgrenderloop.cpp @@ -380,6 +380,16 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window) bool alsoSwap = data.updatePending; data.updatePending = false; + bool lastDirtyWindow = true; + auto i = m_windows.constBegin(); + while (i != m_windows.constEnd()) { + if (i.value().updatePending) { + lastDirtyWindow = false; + break; + } + i++; + } + if (!current) return; @@ -407,6 +417,8 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window) emit window->afterAnimating(); cd->syncSceneGraph(); + if (lastDirtyWindow) + rc->endSync(); if (profileFrames) syncTime = renderTimer.nsecsElapsed(); |