summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_cocoa.mm9
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) {