mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-14 20:51:07 +00:00
macos: send stop event when fingers touch
When the fingers are placed on the touchpad, we get a scroll event with the phase NSEventPhaseMayBegin. We can use this to synthesize an is_stop event. This results in the scrolledwindow stopping scroll with stop gestures. This can cause another warning as well, however, which should be addressed from #4730. Fixes #4733
This commit is contained in:
parent
3a0077f65f
commit
d14987e819
@ -635,6 +635,20 @@ fill_scroll_event (GdkMacosDisplay *self,
|
||||
state = _gdk_macos_display_get_current_mouse_modifiers (self) |
|
||||
_gdk_macos_display_get_current_keyboard_modifiers (self);
|
||||
|
||||
/* If we are starting a new phase, send a stop so any previous
|
||||
* scrolling immediately stops.
|
||||
*/
|
||||
if (phase == NSEventPhaseMayBegin)
|
||||
{
|
||||
ret = gdk_scroll_event_new (GDK_SURFACE (surface),
|
||||
pointer,
|
||||
NULL,
|
||||
get_time_from_ns_event (nsevent),
|
||||
state,
|
||||
0.0, 0.0, TRUE);
|
||||
_gdk_event_queue_append (GDK_DISPLAY (self), g_steal_pointer (&ret));
|
||||
}
|
||||
|
||||
dx = [nsevent deltaX];
|
||||
dy = [nsevent deltaY];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user