diff options
-rw-r--r-- | src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m index f571ab14031..96bd23b8f7f 100644 --- a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m +++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m @@ -197,7 +197,16 @@ extern bool isSystemShortcut_NextWindowInApplication(NSUInteger modifiersMask, N * MouseEvents support */ +- (BOOL)shouldDelayWindowOrderingForEvent:(NSEvent *)event { + return [self isWindowDisabled]; +} + - (void) mouseDown: (NSEvent *)event { + if ([self isWindowDisabled]) { + [NSApp preventWindowOrdering]; + [NSApp activateIgnoringOtherApps:YES]; + } + NSInputManager *inputManager = [NSInputManager currentInputManager]; if ([inputManager wantsToHandleMouseEvents]) { #if IM_DEBUG @@ -399,14 +408,17 @@ extern bool isSystemShortcut_NextWindowInApplication(NSUInteger modifiersMask, N * Utility methods and accessors */ --(void) deliverJavaMouseEvent: (NSEvent *) event { - BOOL isEnabled = YES; +-(BOOL) isWindowDisabled { NSWindow* window = [self window]; if ([window isKindOfClass: [AWTWindow_Panel class]] || [window isKindOfClass: [AWTWindow_Normal class]]) { - isEnabled = [(AWTWindow*)[window delegate] isEnabled]; + return ![(AWTWindow*)[window delegate] isEnabled]; + } else { + return NO; } +} - if (!isEnabled) { +-(void) deliverJavaMouseEvent: (NSEvent *) event { + if ([self isWindowDisabled]) { return; } |