diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_cocoa.mm | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index e26705e2d..4b33c062c 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -1034,6 +1034,7 @@ extern "C" { } - (void)windowDidMove:(NSNotification *)notif; - (void)windowDidResize:(NSNotification *)notif; +- (void)windowDidResignKey:(NSNotification *)notif; - (void)windowDidBecomeKey:(NSNotification *)notif; - (void)windowDidBecomeMain:(NSNotification *)notif; - (void)windowDidDeminiaturize:(NSNotification *)notif; @@ -1076,6 +1077,12 @@ extern "C" { (int)r.size.width, (int)r.size.height); } +- (void)windowDidResignKey:(NSNotification *)notif +{ + FLWindow *nsw = (FLWindow*)[notif object]; + Fl_Window *window = [nsw getFl_Window]; + Fl::handle( FL_UNFOCUS, window); +} - (void)windowDidBecomeKey:(NSNotification *)notif { FLWindow *nsw = (FLWindow*)[notif object]; @@ -2024,6 +2031,8 @@ void Fl_X::make(Fl_Window* w) Fl_Tooltip::enter(0); } [cw makeKeyAndOrderFront:nil]; + if (winlevel != NSMainMenuWindowLevel) Fl::handle(FL_FOCUS, w); + Fl::handle(FL_SHOW, w); Fl::first_window(w); [cw setDelegate:mydelegate]; if (fl_show_iconic) { |
