summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hergert <christian@hergert.me>2022-02-25 23:22:05 -0800
committerChristian Hergert <christian@hergert.me>2022-02-28 11:36:27 -0800
commit3a0077f65f28a9e7888471cf0485c80623c33a09 (patch)
tree4987c0689917a29bef12b8d6437d14f883848483
parent03882ef8e5ca7c391d482d0ca1c51d142e7ec472 (diff)
downloadgtk+-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.c34
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)