[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 8d02624c0e: Fix duplicate wheel events on XI2
From: |
Po Lu |
Subject: |
master 8d02624c0e: Fix duplicate wheel events on XI2 |
Date: |
Tue, 22 Feb 2022 01:11:07 -0500 (EST) |
branch: master
commit 8d02624c0ec029ee99e0b1e410429c440bcc4499
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Fix duplicate wheel events on XI2
* src/xterm.c (handle_one_xevent): Don't generate wheel events
on XI_ButtonPress.
---
src/xterm.c | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/src/xterm.c b/src/xterm.c
index 629a098b55..dce0bf306a 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -11393,22 +11393,25 @@ handle_one_xevent (struct x_display_info *dpyinfo,
{
if (xev->detail >= 4 && xev->detail <= 8)
{
- if (xev->detail <= 5)
- inev.ie.kind = WHEEL_EVENT;
- else
- inev.ie.kind = HORIZ_WHEEL_EVENT;
+ if (xev->evtype == XI_ButtonRelease)
+ {
+ if (xev->detail <= 5)
+ inev.ie.kind = WHEEL_EVENT;
+ else
+ inev.ie.kind = HORIZ_WHEEL_EVENT;
- inev.ie.timestamp = xev->time;
+ inev.ie.timestamp = xev->time;
- XSETINT (inev.ie.x, lrint (xev->event_x));
- XSETINT (inev.ie.y, lrint (xev->event_y));
- XSETFRAME (inev.ie.frame_or_window, f);
+ XSETINT (inev.ie.x, lrint (xev->event_x));
+ XSETINT (inev.ie.y, lrint (xev->event_y));
+ XSETFRAME (inev.ie.frame_or_window, f);
- inev.ie.modifiers
- |= x_x_to_emacs_modifiers (dpyinfo,
- xev->mods.effective);
+ inev.ie.modifiers
+ |= x_x_to_emacs_modifiers (dpyinfo,
+ xev->mods.effective);
- inev.ie.modifiers |= xev->detail % 2 ? down_modifier :
up_modifier;
+ inev.ie.modifiers |= xev->detail % 2 ? down_modifier
: up_modifier;
+ }
goto XI_OTHER;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 8d02624c0e: Fix duplicate wheel events on XI2,
Po Lu <=