1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 09:00:31 -08:00

* nsterm.m (sendEvent:): Skip mouse moved if no dialog and no Emacs

frame have focus.

Fixes: debbugs:14895
This commit is contained in:
Jan Djärv 2013-07-21 13:47:07 +02:00
parent 75bdb32ae3
commit 96c8b65ebd
2 changed files with 23 additions and 0 deletions

View file

@ -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.

View file

@ -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];
}