< prev index next >

src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m

Print this page

        

*** 185,194 **** --- 185,197 ---- @synthesize ownerWindow; @synthesize preFullScreenLevel; @synthesize standardFrame; @synthesize isMinimizing; + // Key notification received status + static bool keyNotificationRecd = false; + - (void) updateMinMaxSize:(BOOL)resizable { if (resizable) { [self.nsWindow setMinSize:self.javaMinSize]; [self.nsWindow setMaxSize:self.javaMaxSize]; } else {
*** 740,752 **** - (void) windowDidBecomeMain: (NSNotification *) notification { AWT_ASSERT_APPKIT_THREAD; [AWTToolkit eventCountPlusPlus]; #ifdef DEBUG ! NSLog(@"became main: %d %@ %@", [self.nsWindow isKeyWindow], [self.nsWindow title], [self menuBarForWindow]); #endif if (![self.nsWindow isKeyWindow]) { [self activateWindowMenuBar]; } JNIEnv *env = [ThreadUtilities getJNIEnv]; --- 743,762 ---- - (void) windowDidBecomeMain: (NSNotification *) notification { AWT_ASSERT_APPKIT_THREAD; [AWTToolkit eventCountPlusPlus]; #ifdef DEBUG ! NSLog(@"became main: %d %@ %@ %d", [self.nsWindow isKeyWindow], [self.nsWindow title], [self menuBarForWindow], keyNotificationRecd); #endif + // if for some reason, no KEY notification is received but this main window is also a key window + // then we need to execute the KEY notification functionality. + if(keyNotificationRecd != true && [self.nsWindow isKeyWindow]) { + [self doWindowDidBecomeKey]; + } + keyNotificationRecd = false; + if (![self.nsWindow isKeyWindow]) { [self activateWindowMenuBar]; } JNIEnv *env = [ThreadUtilities getJNIEnv];
*** 762,771 **** --- 772,787 ---- AWT_ASSERT_APPKIT_THREAD; [AWTToolkit eventCountPlusPlus]; #ifdef DEBUG NSLog(@"became key: %d %@ %@", [self.nsWindow isMainWindow], [self.nsWindow title], [self menuBarForWindow]); #endif + [self doWindowDidBecomeKey]; + keyNotificationRecd = true; + } + + - (void) doWindowDidBecomeKey { + AWT_ASSERT_APPKIT_THREAD; AWTWindow *opposite = [AWTWindow lastKeyWindow]; if (![self.nsWindow isMainWindow]) { [self activateWindowMenuBar]; }
< prev index next >