#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