summaryrefslogtreecommitdiff
path: root/src/nsterm.m
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2011-12-18 15:50:19 +0100
committerJan Djärv <jan.h.d@swipnet.se>2011-12-18 15:50:19 +0100
commit5fecd5fce0bac31f1d39d84caa9d2c444c8e7e01 (patch)
tree884906787db3c2cb7af26ca28e9e25f3f0e5a58a /src/nsterm.m
parentc803b2b767f8ed06beb28106a03f23bc577cfdae (diff)
downloademacs-5fecd5fce0bac31f1d39d84caa9d2c444c8e7e01.tar.gz
Adapt code from AquaEmacs to handle occasional blank menus.
* nsmenu.m (trackingMenu): New variable. (NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5 and NS_IMPL_COCOA. (trackingNotification): New method (from AquaEmacs). (menuNeedsUpdate): Expand comment and return if trackingMenu is 0, from AquaEmacs. (syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA. * nsterm.m (ns_term_init): Subscribe for notifications NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification to method trackingNotification in EmacsMenu. Fixes: debbugs:7030
Diffstat (limited to 'src/nsterm.m')
-rw-r--r--src/nsterm.m9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nsterm.m b/src/nsterm.m
index 1d645943065..055959bf2ac 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -4203,6 +4203,15 @@ ns_term_init (Lisp_Object display_name)
[NSApp setServicesMenu: svcsMenu];
/* Needed at least on Cocoa, to get dock menu to show windows */
[NSApp setWindowsMenu: [[NSMenu alloc] init]];
+
+ [[NSNotificationCenter defaultCenter]
+ addObserver: mainMenu
+ selector: @selector (trackingNotification:)
+ name: NSMenuDidBeginTrackingNotification object: mainMenu];
+ [[NSNotificationCenter defaultCenter]
+ addObserver: mainMenu
+ selector: @selector (trackingNotification:)
+ name: NSMenuDidEndTrackingNotification object: mainMenu];
}
#endif /* MAC OS X menu setup */