avoid-marking-hidden-windows-updatePending
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Mon, 9 Apr 2018 23:44:03 +0000 (00:44 +0100)
committerSimon Quigley <tsimonq2@ubuntu.com>
Mon, 9 Apr 2018 23:44:03 +0000 (00:44 +0100)
Gbp-Pq: Name avoid-marking-hidden-windows-updatePending.patch

src/quick/scenegraph/qsgrenderloop.cpp

index 88899c400c16d0fa9297146b34858dba0f87fbbd..214e7a8ada64c48eb48769c346bc96c835317594 100644 (file)
@@ -305,6 +305,8 @@ void QSGGuiThreadRenderLoop::hide(QQuickWindow *window)
 {
     QQuickWindowPrivate *cd = QQuickWindowPrivate::get(window);
     cd->fireAboutToStop();
+    if (m_windows.contains(window))
+        m_windows[window].updatePending = false;
 }
 
 void QSGGuiThreadRenderLoop::windowDestroyed(QQuickWindow *window)
@@ -494,7 +496,8 @@ QImage QSGGuiThreadRenderLoop::grab(QQuickWindow *window)
 
 void QSGGuiThreadRenderLoop::maybeUpdate(QQuickWindow *window)
 {
-    if (!m_windows.contains(window))
+    QQuickWindowPrivate *cd = QQuickWindowPrivate::get(window);
+    if (!cd->isRenderable() || !m_windows.contains(window))
         return;
 
     m_windows[window].updatePending = true;