Windows: Remove Window from list before calling DestroyWindow.
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Mon, 19 Dec 2011 11:05:59 +0000 (12:05 +0100)
committerQt by Nokia <qt-info@nokia.com>
Mon, 19 Dec 2011 11:27:45 +0000 (12:27 +0100)
Change-Id: Ifef99d9e4e46f0450cecf8ecba18ce79ebec3e8d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
src/plugins/platforms/windows/qwindowswindow.cpp

index f61e15d..df9ad57 100644 (file)
@@ -648,11 +648,11 @@ void QWindowsWindow::destroyWindow()
 {
     if (QWindowsContext::verboseIntegration || QWindowsContext::verboseWindows)
         qDebug() << __FUNCTION__ << this << window() << m_data.hwnd;
-    if (m_data.hwnd) {
+    if (m_data.hwnd) { // Stop event dispatching before Window is destroyed.
         unregisterDropSite();
+        QWindowsContext::instance()->removeWindow(m_data.hwnd);
         if (m_data.hwnd != GetDesktopWindow())
             DestroyWindow(m_data.hwnd);
-        QWindowsContext::instance()->removeWindow(m_data.hwnd);
         m_data.hwnd = 0;
     }
 }