aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m20
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;
}