]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix reporting of menu bar wheel events on no toolkit builds
authorPo Lu <luangruo@yahoo.com>
Sun, 6 Mar 2022 00:56:02 +0000 (08:56 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 6 Mar 2022 00:56:46 +0000 (08:56 +0800)
* src/xterm.c (x_toolkit_position): Handle menu bar position
on no-toolkit builds.
(x_create_terminal): Always add `toolkit_position_hook'.

src/xterm.c

index 5f8e804c62a7637aa4898796ba85d00a69c7fe75..89feece10eb3a02e0aa21baa2a1ca8cfcdab54f8 100644 (file)
@@ -856,7 +856,6 @@ record_event (char *locus, int type)
 
 #endif
 
-#if defined USE_X_TOOLKIT || USE_GTK
 static void
 x_toolkit_position (struct frame *f, int x, int y,
                    bool *menu_bar_p, bool *tool_bar_p)
@@ -884,12 +883,15 @@ x_toolkit_position (struct frame *f, int x, int y,
       *tool_bar_p = gtk_widget_intersect (FRAME_X_OUTPUT (f)->toolbar_widget,
                                          &test_rect, NULL);
     }
-#else
+#elif defined USE_X_TOOLKIT
   *menu_bar_p = (x > 0 && x < FRAME_PIXEL_WIDTH (f)
                 && (y < 0 && y >= -FRAME_MENUBAR_HEIGHT (f)));
+#else
+  *menu_bar_p = (WINDOWP (f->menu_bar_window)
+                && (x > 0 && x < FRAME_PIXEL_WIDTH (f)
+                    && (y > 0 && y < FRAME_MENU_BAR_HEIGHT (f))));
 #endif
 }
-#endif
 
 static void
 x_update_opaque_region (struct frame *f, XEvent *configure)
@@ -17985,9 +17987,7 @@ x_create_terminal (struct x_display_info *dpyinfo)
   terminal->free_pixmap = x_free_pixmap;
   terminal->delete_frame_hook = x_destroy_window;
   terminal->delete_terminal_hook = x_delete_terminal;
-#if defined USE_X_TOOLKIT || defined USE_GTK
   terminal->toolkit_position_hook = x_toolkit_position;
-#endif
   /* Other hooks are NULL by default.  */
 
   return terminal;