* nsterm.m (sendEvent:): Skip mouse moved if no dialog and no Emacs
frame have focus. Fixes: debbugs:14895
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2013-07-21 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* nsterm.m (sendEvent:): Skip mouse moved if no dialog and no Emacs
|
||||
frame have focus (Bug#14895).
|
||||
|
||||
2013-07-21 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Avoid vfork-related deadlock more cleanly.
|
||||
|
||||
18
src/nsterm.m
18
src/nsterm.m
@@ -4416,6 +4416,7 @@ ns_term_shutdown (int sig)
|
||||
{
|
||||
int type = [theEvent type];
|
||||
NSWindow *window = [theEvent window];
|
||||
|
||||
/* NSTRACE (sendEvent); */
|
||||
/*fprintf (stderr, "received event of type %d\t%d\n", type);*/
|
||||
|
||||
@@ -4469,6 +4470,23 @@ ns_term_shutdown (int sig)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef NS_IMPL_COCOA
|
||||
/* If no dialog and none of our frames have focus and it is a move, skip it.
|
||||
It is a mouse move in an auxillary menu, i.e. on the top right on OSX,
|
||||
such as Wifi, sound, date or similar.
|
||||
This prevents "spooky" highlightning in the frame under the menu. */
|
||||
if (type == NSMouseMoved && [NSApp modalWindow] == nil)
|
||||
{
|
||||
struct ns_display_info *di;
|
||||
BOOL has_focus = NO;
|
||||
for (di = x_display_list; ! has_focus && di; di = di->next)
|
||||
has_focus = di->x_focus_frame != 0;
|
||||
if (! has_focus)
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
[super sendEvent: theEvent];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user