Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Kovatch2010-12-02 17:00:50 +0000
committerScott Kovatch2010-12-02 17:00:50 +0000
commit338120081ce468594ad0ede2472e9b6e61fbbca9 (patch)
treea57797703a513351d7afca7a5f10fa7622274905
parent040cc10320c1cadec9355fb9f7b24c23e5a836eb (diff)
downloadeclipse.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.
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras3
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSWindow.java4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java1
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java2
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);
}
}

Back to the top