QWidget::destroy(): Release mouse and keyboard grab.
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Fri, 8 Jun 2012 12:34:48 +0000 (14:34 +0200)
committerQt by Nokia <qt-info@nokia.com>
Sat, 9 Jun 2012 08:45:01 +0000 (10:45 +0200)
This used to happen in the platform widget code.

Task-number: QTBUG-26079

Change-Id: Id6de7473c2fa4381a39114d5122e06e3bde159fa
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
src/widgets/kernel/qwidget_qpa.cpp

index 8a6ceac..a7dd6bf 100644 (file)
@@ -169,6 +169,10 @@ void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
 
     if (this == QApplicationPrivate::active_window)
         QApplication::setActiveWindow(0);
+    if (QWidget::mouseGrabber() == this)
+        releaseMouse();
+    if (QWidget::keyboardGrabber() == this)
+        releaseKeyboard();
 
     setAttribute(Qt::WA_WState_Created, false);