diff options
author | Scott Kovatch | 2010-12-02 17:00:50 +0000 |
---|---|---|
committer | Scott Kovatch | 2010-12-02 17:00:50 +0000 |
commit | 338120081ce468594ad0ede2472e9b6e61fbbca9 (patch) | |
tree | a57797703a513351d7afca7a5f10fa7622274905 | |
parent | 040cc10320c1cadec9355fb9f7b24c23e5a836eb (diff) | |
download | eclipse.platform.swt-338120081ce468594ad0ede2472e9b6e61fbbca9.tar.gz eclipse.platform.swt-338120081ce468594ad0ede2472e9b6e61fbbca9.tar.xz eclipse.platform.swt-338120081ce468594ad0ede2472e9b6e61fbbca9.zip |
331676 - use isMainWindow instead of comparing against [NSApplication mainWindow], which can be null.
4 files changed, 9 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras index 5dd405058a..eb8be2db75 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras @@ -4125,6 +4125,9 @@ <method selector="isKeyWindow" swt_gen="true"> <retval swt_gen="true"></retval> </method> + <method selector="isMainWindow" swt_gen="true"> + <retval swt_gen="true"></retval> + </method> <method selector="isMiniaturized" swt_gen="true"> <retval swt_gen="true"></retval> </method> diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSWindow.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSWindow.java index 65cc7c2094..2c696a3233 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSWindow.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSWindow.java @@ -166,6 +166,10 @@ public boolean isKeyWindow() { return OS.objc_msgSend_bool(this.id, OS.sel_isKeyWindow); } +public boolean isMainWindow() { + return OS.objc_msgSend_bool(this.id, OS.sel_isMainWindow); +} + public boolean isMiniaturized() { return OS.objc_msgSend_bool(this.id, OS.sel_isMiniaturized); } diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java index 0b0d107373..1b0178328f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java @@ -1339,6 +1339,7 @@ public static final int /*long*/ sel_isItemExpanded_ = sel_registerName("isItemE public static final int /*long*/ sel_isKeyWindow = sel_registerName("isKeyWindow"); public static final int /*long*/ sel_isKindOfClass_ = sel_registerName("isKindOfClass:"); public static final int /*long*/ sel_isMainThread = sel_registerName("isMainThread"); +public static final int /*long*/ sel_isMainWindow = sel_registerName("isMainWindow"); public static final int /*long*/ sel_isMiniaturized = sel_registerName("isMiniaturized"); public static final int /*long*/ sel_isOpaque = sel_registerName("isOpaque"); public static final int /*long*/ sel_isPlanar = sel_registerName("isPlanar"); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java index 92d9bee2ad..1830816ed7 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java @@ -1594,7 +1594,7 @@ public void setEnabled (boolean enabled) { checkWidget(); if (((state & DISABLED) == 0) == enabled) return; super.setEnabled (enabled); - if (enabled && display.application.mainWindow().id == window.id) { + if (enabled && window.isMainWindow()) { if (!restoreFocus ()) traverseGroup (false); } } |