summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qapplication_qpa.cpp
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2012-10-16 10:43:36 +0200
committerTor Arne Vestbø <tor.arne.vestbo@digia.com>2012-10-16 10:46:48 +0200
commit8fc4f99e468a279e6bb8442adad6b6a46d1be1c3 (patch)
treedfd0540ecac0bc86594e9e997d7e979e40dacc6d /src/widgets/kernel/qapplication_qpa.cpp
parentd3921cce47f834dd37cf0bb4085ba242dbbe2412 (diff)
parentf7241e8cb949ecf2d86fae2a759a8e1fdb148a26 (diff)
Merge remote-tracking branch 'gerrit/master' into newdocs
Diffstat (limited to 'src/widgets/kernel/qapplication_qpa.cpp')
-rw-r--r--src/widgets/kernel/qapplication_qpa.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/widgets/kernel/qapplication_qpa.cpp b/src/widgets/kernel/qapplication_qpa.cpp
index 6b04c18b9d..5dc68e47e0 100644
--- a/src/widgets/kernel/qapplication_qpa.cpp
+++ b/src/widgets/kernel/qapplication_qpa.cpp
@@ -77,6 +77,7 @@ extern QWidget *qt_button_down;
extern QWidget *qt_popup_down;
extern bool qt_replay_popup_mouse_event;
int openPopupCount = 0;
+extern QPointer<QWidget> qt_last_mouse_receiver;
void QApplicationPrivate::createEventDispatcher()
{
@@ -249,6 +250,12 @@ void QApplicationPrivate::openPopup(QWidget *popup)
QApplication::sendEvent(fw, &e);
}
}
+
+ // Dispatch leave for last mouse receiver to update undermouse states
+ if (qt_last_mouse_receiver && !QWidget::mouseGrabber()) {
+ QApplicationPrivate::dispatchEnterLeave(0, qt_last_mouse_receiver.data());
+ qt_last_mouse_receiver = 0;
+ }
}
void QApplicationPrivate::initializeMultitouch_sys()