diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2012-10-01 17:09:24 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-10-04 14:24:44 +0200 |
commit | c1197677901648893856084178291078035f2bc2 (patch) | |
tree | e0d9bda443f4b11feb733652fa22a29f3aab1f2d /src/plugins/platforms/windows/qwindowsmousehandler.h | |
parent | dcc2e84fd0cdc90d633d2e5992ab1fc03e2aa861 (diff) |
Fix Windows mouse enter/leave event generation
QWidget::underMouse() did not report correct widget in cases where
mouse was grabbed by popup, which was especially disruptive in case
of QCompleter popup, as that wouldn't close anymore with off-popup
clicks.
Root problem was that mouse capture in Windows caused enter/leave
events for QWindows to be generated incorrectly.
QPlatformWindow documentation specifies that enter/leave events
should be sent independent of explicit mouse grabs and only automatic
mouse grabbing done when button is pressed should suppress
enter/leave events. Updated Windows mouse handling to conform to
this.
Task-number: QTBUG-27283
Change-Id: Iecf786a702f7d29e6026c42ff8ec4c9cbf1b6ac3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsmousehandler.h')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsmousehandler.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsmousehandler.h b/src/plugins/platforms/windows/qwindowsmousehandler.h index 9524c26503..1b19b34458 100644 --- a/src/plugins/platforms/windows/qwindowsmousehandler.h +++ b/src/plugins/platforms/windows/qwindowsmousehandler.h @@ -78,6 +78,7 @@ private: MSG msg, LRESULT *result); QPointer<QWindow> m_windowUnderMouse; + QPointer<QWindow> m_trackedWindow; QHash<DWORD, int> m_touchInputIDToTouchPointID; QTouchDevice *m_touchDevice; }; |