aboutsummaryrefslogtreecommitdiff
path: root/ui/cocoa.m
diff options
context:
space:
mode:
authorJohn Arbuckle <programmingkidx@gmail.com>2018-07-09 11:02:35 -0400
committerPeter Maydell <peter.maydell@linaro.org>2018-07-12 16:03:50 +0100
commitdc3c89d612252fc461a65f54885a1fe108e9ec05 (patch)
treeef60085114bd7522944cbde500e466c52d44860a /ui/cocoa.m
parent7fdf16e1148a6133c5dee38140d75b0c9b96fa00 (diff)
ui/cocoa.m: replace scrollingDeltaY with deltaY
The NSEvent class method scrollingDeltaY is available for Mac OS 10.7 and newer. Since QEMU supports Mac OS 10.5 and up, we need to be using a method that is available on these version of Mac OS X. The deltaY method is a method that does almost the same thing as scrollingDeltaY and is available on Mac OS 10.5 and up. So we can replace scrollingDeltaY with deltaY. We only check deltaY's value if it is not zero because zero means that the scrolling increment was sufficiently fine that it was only reported in scrollingDeltaY, or that the scrolling was horizontal. Signed-off-by: John Arbuckle <programmingkidx@gmail.com> Message-id: 20180709150235.7573-1-programmingkidx@gmail.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> [PMM: tweak commit message and comment a little] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'ui/cocoa.m')
-rw-r--r--ui/cocoa.m20
1 files changed, 13 insertions, 7 deletions
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 2991ed4f19..cfc70e21a4 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -802,14 +802,20 @@ QemuCocoaView *cocoaView;
* This is in-line with standard Mac OS X UI behaviour.
*/
+ /*
+ * When deltaY is zero, it means that this scrolling event was
+ * either horizontal, or so fine that it only appears in
+ * scrollingDeltaY. So we drop the event.
+ */
+ if ([event deltaY] != 0) {
/* Determine if this is a scroll up or scroll down event */
- buttons = ([event scrollingDeltaY] > 0) ?
- INPUT_BUTTON_WHEEL_UP : INPUT_BUTTON_WHEEL_DOWN;
- qemu_input_queue_btn(dcl->con, buttons, true);
- qemu_input_event_sync();
- qemu_input_queue_btn(dcl->con, buttons, false);
- qemu_input_event_sync();
-
+ buttons = ([event deltaY] > 0) ?
+ INPUT_BUTTON_WHEEL_UP : INPUT_BUTTON_WHEEL_DOWN;
+ qemu_input_queue_btn(dcl->con, buttons, true);
+ qemu_input_event_sync();
+ qemu_input_queue_btn(dcl->con, buttons, false);
+ qemu_input_event_sync();
+ }
/*
* Since deltaY also reports scroll wheel events we prevent mouse
* movement code from executing.