summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qapplication_mac.mm
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@nokia.com>2009-12-03 11:53:41 (GMT)
committerAndy Shaw <andy.shaw@nokia.com>2009-12-03 11:54:36 (GMT)
commitae87d2ac8f4ee62de5c9ec59ee575cf3678fa367 (patch)
tree64df6cbbe2dfcf2abf9bc39c6586ed3a0694ff02 /src/gui/kernel/qapplication_mac.mm
parentad8e34ff448b4e261da65cc5210664f150736bba (diff)
downloadQt-ae87d2ac8f4ee62de5c9ec59ee575cf3678fa367.zip
Qt-ae87d2ac8f4ee62de5c9ec59ee575cf3678fa367.tar.gz
Qt-ae87d2ac8f4ee62de5c9ec59ee575cf3678fa367.tar.bz2
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 22a0959..688e51f 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;