Windows: Don't send non-client mouse events unless frameStrutEventsEnabled

During refactoring in 3850404114 the logic
was changed in a way that ended up sending non-client mouse events even
if frameStrutEventsEnabled() was not set on the platform window.

Pick-to: 6.5 6.2
Change-Id: Icbde51641020aeec99572d80859082fdcf656311
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
bb10
Tor Arne Vestbø 2023-03-24 15:39:11 +01:00
parent 585bfe600a
commit f1e539518b
1 changed files with 6 additions and 2 deletions

View File

@ -1205,12 +1205,16 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message,
case QtWindows::ExposeEvent:
return platformWindow->handleWmPaint(hwnd, message, wParam, lParam, result);
case QtWindows::NonClientMouseEvent:
if ((d->m_systemInfo & QWindowsContext::SI_SupportsPointer) && platformWindow->frameStrutEventsEnabled())
if (!platformWindow->frameStrutEventsEnabled())
break;
if ((d->m_systemInfo & QWindowsContext::SI_SupportsPointer))
return sessionManagerInteractionBlocked() || d->m_pointerHandler.translateMouseEvent(platformWindow->window(), hwnd, et, msg, result);
else
return sessionManagerInteractionBlocked() || d->m_mouseHandler.translateMouseEvent(platformWindow->window(), hwnd, et, msg, result);
case QtWindows::NonClientPointerEvent:
if ((d->m_systemInfo & QWindowsContext::SI_SupportsPointer) && platformWindow->frameStrutEventsEnabled())
if (!platformWindow->frameStrutEventsEnabled())
break;
if ((d->m_systemInfo & QWindowsContext::SI_SupportsPointer))
return sessionManagerInteractionBlocked() || d->m_pointerHandler.translatePointerEvent(platformWindow->window(), hwnd, et, msg, result);
break;
case QtWindows::EnterSizeMoveEvent: