[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master ffd38a9911: Fix setting user time upon scrolling self during DND
From: |
Po Lu |
Subject: |
master ffd38a9911: Fix setting user time upon scrolling self during DND |
Date: |
Tue, 19 Jul 2022 21:50:56 -0400 (EDT) |
branch: master
commit ffd38a9911bf7515e5dc846e4d03c8153ffe1189
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Fix setting user time upon scrolling self during DND
* src/xterm.c (handle_one_xevent): Set user time for emulated
scroll wheel events if Emacs ends up scrolled during DND.
---
src/xterm.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/xterm.c b/src/xterm.c
index c9acc9055d..86dc122f93 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -20418,11 +20418,22 @@ handle_one_xevent (struct x_display_info *dpyinfo,
dnd_state = xi_convert_event_state (xev);
if (x_dnd_last_window_is_frame)
- x_dnd_note_self_wheel (dpyinfo,
- x_dnd_last_seen_window,
- xev->root_x, xev->root_y,
- xev->detail, dnd_state,
- xev->time);
+ {
+#ifdef XI_PointerEmulated
+ /* Set the last user time here even if this
+ is an emulated button event, since
+ something happened in response. */
+
+ if (xev->flags & XIPointerEmulated)
+ x_display_set_last_user_time (dpyinfo, xev->time,
+ xev->send_event);
+#endif
+ x_dnd_note_self_wheel (dpyinfo,
+ x_dnd_last_seen_window,
+ xev->root_x, xev->root_y,
+ xev->detail, dnd_state,
+ xev->time);
+ }
else
x_dnd_send_position (x_dnd_frame,
x_dnd_last_seen_window,
@@ -20431,7 +20442,7 @@ handle_one_xevent (struct x_display_info *dpyinfo,
xev->time, x_dnd_wanted_action,
xev->detail, dnd_state);
- goto XI_OTHER;
+ goto OTHER;
}
if (xev->evtype == XI_ButtonRelease)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master ffd38a9911: Fix setting user time upon scrolling self during DND,
Po Lu <=