belowWindowWithWindowNumber: window_number];
w = [NSApp windowWithWindowNumber: window_number];
+ if (EQ (track_mouse, Qdrag_source)
+ && w && [[w delegate] isKindOfClass: [EmacsTooltip class]])
+ continue;
+
if (w && [[w delegate] isKindOfClass: [EmacsView class]])
f = ((EmacsView *) [w delegate])->emacsframe;
else if (EQ (track_mouse, Qdrag_source))
break;
+
+ if (f && EQ (track_mouse, Qdrag_source)
+ && FRAME_TOOLTIP_P (f))
+ continue;
}
while (window_number > 0 && !f);
#endif
if (!FRAME_NS_P (f))
f = NULL;
+ if (FRAME_TOOLTIP_P (f))
+ f = dpyinfo->last_mouse_frame;
+
/* While dropping, use the last mouse frame only if there is no
currently focused frame. */
if (!f && (EQ (track_mouse, Qdropping)
if (!emacs_event)
return;
+ if (FRAME_TOOLTIP_P (emacsframe))
+ return;
+
dpyinfo->last_mouse_frame = emacsframe;
/* Appears to be needed to prevent spurious movement events generated on
button clicks. */
tab_bar_p = EQ (window, emacsframe->tab_bar_window);
if (tab_bar_p)
- tab_bar_arg = handle_tab_bar_click (emacsframe, x, y, EV_UDMODIFIERS (theEvent) & down_modifier,
+ tab_bar_arg = handle_tab_bar_click (emacsframe, x, y,
+ EV_UDMODIFIERS (theEvent) & down_modifier,
EV_MODIFIERS (theEvent) | EV_UDMODIFIERS (theEvent));
}
NSPoint pt;
BOOL dragging;
+ if (FRAME_TOOLTIP_P (emacsframe))
+ return;
+
NSTRACE_WHEN (NSTRACE_GROUP_EVENTS, "[EmacsView mouseMoved:]");
dpyinfo->last_mouse_movement_time = EV_TIMESTAMP (e);