summaryrefslogtreecommitdiff
path: root/src/gui/kernel/qapplication_mac.mm
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@nokia.com>2009-12-03 12:53:41 +0100
committerAndy Shaw <andy.shaw@nokia.com>2009-12-03 12:54:36 +0100
commitae87d2ac8f4ee62de5c9ec59ee575cf3678fa367 (patch)
tree64df6cbbe2dfcf2abf9bc39c6586ed3a0694ff02 /src/gui/kernel/qapplication_mac.mm
parentad8e34ff448b4e261da65cc5210664f150736bba (diff)
downloadqt4-tools-ae87d2ac8f4ee62de5c9ec59ee575cf3678fa367.tar.gz
Ensure the button state is correct when creating a QWheelEvent on Mac.
On Mac when we receive a scrollWheel event on Carbon or Cocoa then we need to use QApplication::mouseButtons() in order to ensure the QWheelEvent has the right button states set. This is because the buttons state information is not passed in the native event at all. Reviewed-by: MortenS
Diffstat (limited to 'src/gui/kernel/qapplication_mac.mm')
-rw-r--r--src/gui/kernel/qapplication_mac.mm5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index 22a0959305..688e51fcfb 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -1687,7 +1687,10 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event
UInt32 mac_buttons = 0;
GetEventParameter(event, kEventParamMouseChord, typeUInt32, 0,
sizeof(mac_buttons), 0, &mac_buttons);
- buttons = qt_mac_get_buttons(mac_buttons);
+ if (ekind != kEventMouseWheelMoved)
+ buttons = qt_mac_get_buttons(mac_buttons);
+ else
+ buttons = QApplication::mouseButtons();
}
int wheel_deltaX = 0;