Skip to content

Commit

Permalink
In make_lispy_position fix Bug#50993 in rudimentary fashion
Browse files Browse the repository at this point in the history
* src/keyboard.c (make_lispy_position): Do not set posn to
tool- or tab-bar when track_mouse is enabled (Bug#50993).
  • Loading branch information
Martin Rudalics committed Oct 14, 2021
1 parent 0aa52e9 commit 8153f70
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion src/keyboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -5122,7 +5122,20 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
#endif
)
{
posn = EQ (window_or_frame, f->tab_bar_window) ? Qtab_bar : Qtool_bar;
/* FIXME: While track_mouse is non-nil, we do not report this
event as something that happened on the tool or tab bar since
that would break mouse dragging operations that originate from
an ordinary window beneath and expect the window to auto-scroll
as soon as the mouse cursor appears above or beneath it
(Bug#50993). Since this "fix" might break track_mouse based
operations originating from the tool or tab bar itself, such
operations should set track_mouse to some special value that
would be recognized by the following check.
This issue should be properly handled by 'mouse-drag-track' and
friends, so the below is only a temporary workaround. */
if (NILP (track_mouse))
posn = EQ (window_or_frame, f->tab_bar_window) ? Qtab_bar : Qtool_bar;
/* Kludge alert: for mouse events on the tab bar and tool bar,
keyboard.c wants the frame, not the special-purpose window
we use to display those, and it wants frame-relative
Expand Down

0 comments on commit 8153f70

Please sign in to comment.