aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickwindowmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickwindowmanager.cpp')
-rw-r--r--src/quick/items/qquickwindowmanager.cpp6
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)