Windows: Send empty region in expose event from setVisible(false).
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Thu, 5 Apr 2012 14:40:11 +0000 (16:40 +0200)
committerQt by Nokia <qt-info@nokia.com>
Thu, 5 Apr 2012 15:48:15 +0000 (17:48 +0200)
Fixing a crash in tst_qwidget.cpp, trying to redraw on destroying
the platform window.

Change-Id: I6b6e9a063a1c72dff8110c379f8392605aadbdd6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
src/plugins/platforms/windows/qwindowswindow.cpp

index fa3661d..2b86d06 100644 (file)
@@ -704,11 +704,13 @@ void QWindowsWindow::setVisible(bool visible)
     if (m_data.hwnd) {
         if (visible) {
             show_sys();
+            QWindowSystemInterface::handleSynchronousExposeEvent(window(),
+                                                                 QRect(QPoint(), geometry().size()));
         } else {
             hide_sys();
+            QWindowSystemInterface::handleSynchronousExposeEvent(window(), QRegion());
         }
     }
-    QWindowSystemInterface::handleSynchronousExposeEvent(window(), QRect(QPoint(), geometry().size()));
 }
 
 bool QWindowsWindow::isVisible() const