aboutsummaryrefslogtreecommitdiffstats
path: root/src/xwidget.c
diff options
context:
space:
mode:
authorPo Lu2021-12-08 10:04:31 +0800
committerPo Lu2021-12-08 10:04:31 +0800
commit5671709590e778cb3af83b2aa33bd112e1fd66fe (patch)
tree88de24ea921f7efc74215a3088e172ed947ff762 /src/xwidget.c
parent176c63287ffdf56634984494f6610102737f393e (diff)
downloademacs-5671709590e778cb3af83b2aa33bd112e1fd66fe.tar.gz
emacs-5671709590e778cb3af83b2aa33bd112e1fd66fe.zip
Send scroll stop events to xwidgets correctly
* src/xterm.c (handle_one_xevent): Record stop events manually. * src/xwidget.h (xwidget_scroll): * src/xwidget.c (xwidget_scroll): New parameter `stop_p'.
Diffstat (limited to 'src/xwidget.c')
-rw-r--r--src/xwidget.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/xwidget.c b/src/xwidget.c
index 9b9f364ce40..d8510ef9286 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -1062,7 +1062,8 @@ xwidget_motion_notify (struct xwidget_view *view,
1062 1062
1063void 1063void
1064xwidget_scroll (struct xwidget_view *view, double x, double y, 1064xwidget_scroll (struct xwidget_view *view, double x, double y,
1065 double dx, double dy, uint state, Time time) 1065 double dx, double dy, uint state, Time time,
1066 bool stop_p)
1066{ 1067{
1067 GdkEvent *xg_event; 1068 GdkEvent *xg_event;
1068 GtkWidget *target; 1069 GtkWidget *target;
@@ -1097,9 +1098,7 @@ xwidget_scroll (struct xwidget_view *view, double x, double y,
1097 xg_event->scroll.delta_x = dx; 1098 xg_event->scroll.delta_x = dx;
1098 xg_event->scroll.delta_y = dy; 1099 xg_event->scroll.delta_y = dy;
1099 xg_event->scroll.device = find_suitable_pointer (view->frame); 1100 xg_event->scroll.device = find_suitable_pointer (view->frame);
1100 1101 xg_event->scroll.is_stop = stop_p;
1101 if (!(fabs (dx) > 0) || !(fabs (dy) > 0))
1102 xg_event->scroll.is_stop = TRUE;
1103 1102
1104 g_object_ref (xg_event->any.window); 1103 g_object_ref (xg_event->any.window);
1105 1104