summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-06-08 14:34:48 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-09 10:45:01 +0200
commit1fb176eaf4a260c10dd336c4b42412b61799dbcf (patch)
tree56f7b15372c2b38f77b827fee375fe71bd3e6ae3 /src/widgets
parente454000abc6ddcaff9d42bd8b4365bd89d53ca15 (diff)
QWidget::destroy(): Release mouse and keyboard grab.
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>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/kernel/qwidget_qpa.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidget_qpa.cpp b/src/widgets/kernel/qwidget_qpa.cpp
index 8a6ceac526..a7dd6bf01c 100644
--- a/src/widgets/kernel/qwidget_qpa.cpp
+++ b/src/widgets/kernel/qwidget_qpa.cpp
@@ -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);