From c1197677901648893856084178291078035f2bc2 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 1 Oct 2012 17:09:24 +0300 Subject: 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 --- src/plugins/platforms/windows/qwindowsmousehandler.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/plugins/platforms/windows/qwindowsmousehandler.h') 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 m_windowUnderMouse; + QPointer m_trackedWindow; QHash m_touchInputIDToTouchPointID; QTouchDevice *m_touchDevice; }; -- cgit v1.2.3