summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-03-02 09:34:05 +0800
committerPo Lu <luangruo@yahoo.com>2022-03-02 09:38:58 +0800
commit6b71b80fdcf32aed5191898e7339ffb9dcd29005 (patch)
tree4b0f341144815289d720120baa96740da33412c7 /src
parent006a4474551ed43515c6249d2ed4cfcaefd9b7a5 (diff)
Fix odd scrolling bugs on LessTif
* src/xterm.c (handle_one_xevent): Give emulated button events to Motif.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/xterm.c b/src/xterm.c
index f5ce42fc270..3f693004172 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -12035,17 +12035,13 @@ handle_one_xevent (struct x_display_info *dpyinfo,
struct xwidget_view *xvw;
#endif
-#ifdef HAVE_XINPUT2_1
- /* Ignore emulated scroll events when XI2 native
- scroll events are present. */
- if (xev->flags & XIPointerEmulated)
- {
- *finish = X_EVENT_DROP;
- goto XI_OTHER;
- }
+#ifdef USE_MOTIF
+#ifdef USE_TOOLKIT_SCROLL_BARS
+ struct scroll_bar *bar
+ = x_window_to_scroll_bar (dpyinfo->display,
+ xev->event, 2);
#endif
-#ifdef USE_MOTIF
use_copy = true;
copy.xbutton.type = (xev->evtype == XI_ButtonPress
? ButtonPress : ButtonRelease);
@@ -12075,6 +12071,21 @@ handle_one_xevent (struct x_display_info *dpyinfo,
}
#endif
+#ifdef HAVE_XINPUT2_1
+ /* Ignore emulated scroll events when XI2 native
+ scroll events are present. */
+ if (xev->flags & XIPointerEmulated)
+ {
+#if !defined USE_MOTIF || !defined USE_TOOLKIT_SCROLL_BARS
+ *finish = X_EVENT_DROP;
+#else
+ if (bar)
+ *finish = X_EVENT_DROP;
+#endif
+ goto XI_OTHER;
+ }
+#endif
+
if (xev->evtype == XI_ButtonPress)
x_display_set_last_user_time (dpyinfo, xev->time);