diff options
Diffstat (limited to 'src/quick/items/qquickwindowmanager.cpp')
-rw-r--r-- | src/quick/items/qquickwindowmanager.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/quick/items/qquickwindowmanager.cpp b/src/quick/items/qquickwindowmanager.cpp index 45a379a1c0..9b51bf2d34 100644 --- a/src/quick/items/qquickwindowmanager.cpp +++ b/src/quick/items/qquickwindowmanager.cpp @@ -1167,7 +1167,7 @@ void QQuickTrivialWindowManager::canvasDestroyed(QQuickCanvas *canvas) void QQuickTrivialWindowManager::renderCanvas(QQuickCanvas *canvas) { - if (!m_windows.contains(canvas)) + if (!canvas->isExposed() || !m_windows.contains(canvas)) return; CanvasData &data = const_cast<CanvasData &>(m_windows[canvas]); @@ -1221,8 +1221,10 @@ void QQuickTrivialWindowManager::renderCanvas(QQuickCanvas *canvas) maybeUpdate(canvas); } -void QQuickTrivialWindowManager::exposureChanged(QQuickCanvas *) +void QQuickTrivialWindowManager::exposureChanged(QQuickCanvas *canvas) { + if (canvas->isExposed()) + renderCanvas(canvas); } QImage QQuickTrivialWindowManager::grab(QQuickCanvas *canvas) |