From: Po Lu Date: Tue, 23 Nov 2021 03:08:45 +0000 (+0800) Subject: Only reset scroll valuators on real enter events X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1^2~5^2~16^2~3291^2~92 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2955d46c00430b38310d0fae968adea91e2bbc3d;p=emacs.git Only reset scroll valuators on real enter events * src/xterm.c (handle_one_xevent): Test event detail and mode before resetting scroll valuators. --- diff --git a/src/xterm.c b/src/xterm.c index 11e7e602c09..bbfd3b0e82b 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -9870,7 +9870,12 @@ handle_one_xevent (struct x_display_info *dpyinfo, x_display_set_last_user_time (dpyinfo, xi_event->time); x_detect_focus_change (dpyinfo, any, event, &inev.ie); - xi_reset_scroll_valuators_for_device_id (dpyinfo, enter->deviceid); + + if (enter->detail != XINotifyInferior + && enter->mode != XINotifyPassiveUngrab + && enter->mode != XINotifyUngrab && any) + xi_reset_scroll_valuators_for_device_id (dpyinfo, enter->deviceid); + f = any; if (f && x_mouse_click_focus_ignore_position) @@ -9895,7 +9900,6 @@ handle_one_xevent (struct x_display_info *dpyinfo, x_display_set_last_user_time (dpyinfo, xi_event->time); x_detect_focus_change (dpyinfo, any, event, &inev.ie); - xi_reset_scroll_valuators_for_device_id (dpyinfo, leave->deviceid); f = x_top_window_to_frame (dpyinfo, leave->event); if (f)