In make_lispy_position fix Bug#50993 in rudimentary fashion
* src/keyboard.c (make_lispy_position): Do not set posn to tool- or tab-bar when track_mouse is enabled (Bug#50993).
This commit is contained in:
parent
0aa52e94f3
commit
8153f70b9c
1 changed files with 14 additions and 1 deletions
|
@ -5122,7 +5122,20 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
|
||||||
#endif
|
#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,
|
/* Kludge alert: for mouse events on the tab bar and tool bar,
|
||||||
keyboard.c wants the frame, not the special-purpose window
|
keyboard.c wants the frame, not the special-purpose window
|
||||||
we use to display those, and it wants frame-relative
|
we use to display those, and it wants frame-relative
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue