]> git.eshelyaron.com Git - emacs.git/commitdiff
Prevent crashes when scrolling in an unknown Window on XI2
authorPo Lu <luangruo@yahoo.com>
Sat, 20 Nov 2021 12:00:45 +0000 (20:00 +0800)
committerPo Lu <luangruo@yahoo.com>
Sat, 20 Nov 2021 12:00:45 +0000 (20:00 +0800)
* src/xterm.c (handle_one_xevent): Fix XI2 frame lookup to
handle foreign windows.

src/xterm.c

index a023a5f9c8957016d25fe9ffcc7248a634846f2c..18f8a6062f8aa356b977ad1d43bc843acf046430 100644 (file)
@@ -9939,7 +9939,14 @@ handle_one_xevent (struct x_display_info *dpyinfo,
 
                    if (delta != DBL_MAX)
                      {
-                       f = mouse_or_wdesc_frame (dpyinfo, xev->event);
+                       if (!f)
+                         {
+                           f = x_any_window_to_frame (dpyinfo, xev->event);
+
+                           if (!f)
+                             goto XI_OTHER;
+                         }
+
                        scroll_unit = pow (FRAME_PIXEL_HEIGHT (f), 2.0 / 3.0);
                        found_valuator = true;
 
@@ -9952,14 +9959,6 @@ handle_one_xevent (struct x_display_info *dpyinfo,
                            && (fabs (val->emacs_value) < 1))
                          continue;
 
-                       if (!f)
-                         {
-                           f = x_any_window_to_frame (dpyinfo, xev->event);
-
-                           if (!f)
-                             goto XI_OTHER;
-                         }
-
                        bool s = signbit (val->emacs_value);
                        inev.ie.kind = (val->horizontal
                                        ? HORIZ_WHEEL_EVENT