aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Batrak <Dmitry.Batrak@jetbrains.com>2020-07-01 19:33:41 +0300
committerDmitry Batrak <Dmitry.Batrak@jetbrains.com>2020-07-01 19:33:41 +0300
commit67b174dc8c4e13e601443e82c59d7ff95e1b6bf3 (patch)
tree48afc7d77489eade057f726ae0f67e6b07ef7323
parenta41a59a57b5391a45a566a5192644059aa2293b0 (diff)
downloadJetBrainsRuntime-67b174dc8c4e13e601443e82c59d7ff95e1b6bf3.tar.gz
JBR-2533 Popup is not focused on click when switching from another application on macOSjb11_0_7-b981
fix main menu activation logic
-rw-r--r--src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m
index cb587a564ec..4728a5a9c60 100644
--- a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m
+++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m
@@ -721,9 +721,7 @@ AWT_ASSERT_APPKIT_THREAD;
NSLog(@"became main: %d %@ %@", [self.nsWindow isKeyWindow], [self.nsWindow title], [self menuBarForWindow]);
#endif
- if (![self.nsWindow isKeyWindow]) {
- [self activateWindowMenuBar];
- }
+ [self activateWindowMenuBar];
JNIEnv *env = [ThreadUtilities getJNIEnv];
jobject platformWindow = [self.javaPlatformWindow jObjectWithEnv:env];
@@ -742,6 +740,7 @@ AWT_ASSERT_APPKIT_THREAD;
NSLog(@"resigned main: %d %@ %@", [self.nsWindow isKeyWindow], [self.nsWindow title], [self menuBarForWindow]);
#endif
+ [self.javaMenuBar deactivate];
[self orderChildWindows:NO];
}
@@ -818,8 +817,6 @@ AWT_ASSERT_APPKIT_THREAD;
NSLog(@"resigned key: %d %@ %@", [self.nsWindow isMainWindow], [self.nsWindow title], [self menuBarForWindow]);
#endif
- [self.javaMenuBar deactivate];
-
// the new key window
NSWindow *keyWindow = [NSApp keyWindow];
AWTWindow *opposite = nil;
@@ -1104,7 +1101,7 @@ JNF_COCOA_ENTER(env);
AWTWindow *window = (AWTWindow*)[nsWindow delegate];
- if ([nsWindow isKeyWindow] || [nsWindow isMainWindow]) {
+ if ([nsWindow isMainWindow]) {
[window.javaMenuBar deactivate];
}
@@ -1115,7 +1112,7 @@ JNF_COCOA_ENTER(env);
actualMenuBar = [[ApplicationDelegate sharedDelegate] defaultMenuBar];
}
- if ([nsWindow isKeyWindow] || [nsWindow isMainWindow]) {
+ if ([nsWindow isMainWindow]) {
[CMenuBar activate:actualMenuBar modallyDisabled:NO];
}
}];