1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-26 00:01:47 -07:00

Fix selecting text and releasing the mouse buttons above the toolbar

* src/xterm.c (handle_one_xevent): Don't send ButtonRelease
events to tool bars if there is no selected tool bar item.
This commit is contained in:
Po Lu 2022-04-12 08:41:19 +08:00
parent 6a480c830b
commit 60f66cc2a2

View file

@ -15812,7 +15812,9 @@ handle_one_xevent (struct x_display_info *dpyinfo,
int y = event->xbutton.y;
window = window_from_coordinates (f, x, y, 0, true, true);
tool_bar_p = EQ (window, f->tool_bar_window);
tool_bar_p = (EQ (window, f->tool_bar_window)
&& (event->xbutton.type != ButtonRelease
|| f->last_tool_bar_item != -1));
if (tool_bar_p && event->xbutton.button < 4)
handle_tool_bar_click
@ -17200,7 +17202,16 @@ handle_one_xevent (struct x_display_info *dpyinfo,
int y = bv.y;
window = window_from_coordinates (f, x, y, 0, true, true);
tool_bar_p = EQ (window, f->tool_bar_window);
/* Ignore button release events if the mouse
wasn't previously pressed on the tool bar.
We do this because otherwise selecting some
text with the mouse and then releasing it on
the tool bar doesn't stop selecting text,
since the tool bar eats the button up
event. */
tool_bar_p = (EQ (window, f->tool_bar_window)
&& (xev->evtype != XI_ButtonRelease
|| f->last_tool_bar_item != -1));
if (tool_bar_p && xev->detail < 4)
handle_tool_bar_click_with_device