diff options
author | Christian Hergert <christian@hergert.me> | 2022-02-25 23:22:05 -0800 |
---|---|---|
committer | Christian Hergert <christian@hergert.me> | 2022-02-28 11:36:27 -0800 |
commit | 3a0077f65f28a9e7888471cf0485c80623c33a09 (patch) | |
tree | 4987c0689917a29bef12b8d6437d14f883848483 | |
parent | 03882ef8e5ca7c391d482d0ca1c51d142e7ec472 (diff) | |
download | gtk+-3a0077f65f28a9e7888471cf0485c80623c33a09.tar.gz |
macos: remove emulated scroll events
We don't appear to actually need the emulated scroll events and they get
in the way of proper scrolling with the touchpad.
Fixes #4734
-rw-r--r-- | gdk/macos/gdkmacosdisplay-translate.c | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/gdk/macos/gdkmacosdisplay-translate.c b/gdk/macos/gdkmacosdisplay-translate.c index 646ba0cd9e..db1cfa2527 100644 --- a/gdk/macos/gdkmacosdisplay-translate.c +++ b/gdk/macos/gdkmacosdisplay-translate.c @@ -678,31 +678,17 @@ fill_scroll_event (GdkMacosDisplay *self, dy = 0.0; } - if (dx != 0.0 || dy != 0.0) + if ((dx != 0.0 || dy != 0.0) && ![nsevent hasPreciseScrollingDeltas]) { - if ([nsevent hasPreciseScrollingDeltas]) - { - GdkEvent *emulated; - - emulated = gdk_scroll_event_new_discrete (GDK_SURFACE (surface), - pointer, - NULL, - get_time_from_ns_event (nsevent), - state, - direction, - TRUE); - _gdk_event_queue_append (GDK_DISPLAY (self), emulated); - } - else - { - ret = gdk_scroll_event_new_discrete (GDK_SURFACE (surface), - pointer, - NULL, - get_time_from_ns_event (nsevent), - state, - direction, - FALSE); - } + g_assert (ret == NULL); + + ret = gdk_scroll_event_new_discrete (GDK_SURFACE (surface), + pointer, + NULL, + get_time_from_ns_event (nsevent), + state, + direction, + FALSE); } if (phase == NSEventPhaseEnded || phase == NSEventPhaseCancelled) |