]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix odd scrolling bugs on LessTif
authorPo Lu <luangruo@yahoo.com>
Wed, 2 Mar 2022 01:34:05 +0000 (09:34 +0800)
committerPo Lu <luangruo@yahoo.com>
Wed, 2 Mar 2022 01:38:58 +0000 (09:38 +0800)
* src/xterm.c (handle_one_xevent): Give emulated button events
to Motif.

src/xterm.c

index f5ce42fc2703e0a7b0871264c6df3a8dfea134e1..3f6930041723d2bc89ca74e7e1376dc2d7dcd42f 100644 (file)
@@ -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);