From 9fa8427b78c42ae1e75cae5692cf5637acb594ff Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Thu, 24 Mar 2011 12:58:32 +0000 Subject: Fix STR #2594: the focus after creating a new window was not set correctly because some code present in Fl_mac.cxx was not reflected in Fl_cocoa.mm. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8530 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_cocoa.mm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') 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) { -- cgit v1.2.3