diff options
| author | Po Lu | 2021-12-08 10:04:31 +0800 |
|---|---|---|
| committer | Po Lu | 2021-12-08 10:04:31 +0800 |
| commit | 5671709590e778cb3af83b2aa33bd112e1fd66fe (patch) | |
| tree | 88de24ea921f7efc74215a3088e172ed947ff762 /src/xwidget.c | |
| parent | 176c63287ffdf56634984494f6610102737f393e (diff) | |
| download | emacs-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.c | 7 |
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 | ||
| 1063 | void | 1063 | void |
| 1064 | xwidget_scroll (struct xwidget_view *view, double x, double y, | 1064 | xwidget_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 | ||