diff --git a/Source/NSApplication.m b/Source/NSApplication.m index 6eb00e212..63152aecc 100644 --- a/Source/NSApplication.m +++ b/Source/NSApplication.m @@ -2496,6 +2496,7 @@ - (void) hide: (id)sender NSDictionary *info; NSWindow *win; NSEnumerator *iter; + id menuItem; [nc postNotificationName: NSApplicationWillHideNotification object: self]; @@ -2543,7 +2544,16 @@ - (void) hide: (id)sender [_hidden addObject: win]; [win orderOut: self]; } - } + } + menuItem = [sender isKindOfClass:[NSMenuItem class]] + ? sender + : [_main_menu itemWithTitle:_(@"Hide")]; + if (menuItem) + { + [menuItem setAction:@selector(unhide:)]; + [menuItem setTitle:_(@"Show")]; + } + _app_is_hidden = YES; if (YES == [[NSUserDefaults standardUserDefaults] @@ -2606,6 +2616,14 @@ - (BOOL) isHidden */ - (void) unhide: (id)sender { + id menuItem = [sender isKindOfClass:[NSMenuItem class]] + ? sender + : [_main_menu itemWithTitle:_(@"Show")]; + if (menuItem) + { + [menuItem setAction:@selector(hide:)]; + [menuItem setTitle:_(@"Hide")]; + } if (_app_is_hidden) { [self unhideWithoutActivation];