summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Barnes <krbarnes>2009-09-30 14:20:49 +0000
committerKevin Barnes <krbarnes>2009-09-30 14:20:49 +0000
commitcc2f95700abbd562a809bcea8ecb2bfd3eb3b0db (patch)
treeb743f928e6e07f1cb4bfd98828820008e57e6dc7
parent79d68bc274ea6773c6eb1fb7c57de7bbf975bb0e (diff)
downloadeclipse.platform.swt-cc2f95700abbd562a809bcea8ecb2bfd3eb3b0db.tar.gz
eclipse.platform.swt-cc2f95700abbd562a809bcea8ecb2bfd3eb3b0db.tar.xz
eclipse.platform.swt-cc2f95700abbd562a809bcea8ecb2bfd3eb3b0db.zip
290774 - [cocoa] Shells do not generate SWT.Iconify and SWT.Deiconify events
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java42
1 files changed, 22 insertions, 20 deletions
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 d065d7b718..c2ab16efd0 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
@@ -1680,32 +1680,34 @@ void setWindowVisible (boolean visible, boolean key) {
topView ().setHidden (false);
invalidateVisibleRegion();
if (window != null) {
- if ((style & (SWT.SHEET)) != 0) {
- NSApplication application = NSApplication.sharedApplication();
- application.beginSheet(window, ((Shell)parent).window, null, 0, 0);
- if (OS.VERSION <= 0x1060 && window.respondsToSelector(OS.sel__setNeedsToUseHeartBeatWindow_)) {
- OS.objc_msgSend(window.id, OS.sel__setNeedsToUseHeartBeatWindow_, 0);
- }
- } else {
- // If the parent window is miniaturized, the window will be shown
- // when its parent is shown.
- boolean parentMinimized = parent != null && ((Shell)parent).window.isMiniaturized();
- if (!parentMinimized) {
- if (key) {
- makeKeyAndOrderFront ();
- } else {
- window.orderFront (null);
+ if ((style & (SWT.SHEET)) != 0) {
+ NSApplication application = NSApplication.sharedApplication();
+ application.beginSheet(window, ((Shell)parent).window, null, 0, 0);
+ if (OS.VERSION <= 0x1060 && window.respondsToSelector(OS.sel__setNeedsToUseHeartBeatWindow_)) {
+ OS.objc_msgSend(window.id, OS.sel__setNeedsToUseHeartBeatWindow_, 0);
}
- if (minimized != window.isMiniaturized()) {
- if (minimized) {
- window.miniaturize (null);
+ } else {
+ // If the parent window is miniaturized, the window will be shown
+ // when its parent is shown.
+ boolean parentMinimized = parent != null && ((Shell)parent).window.isMiniaturized();
+ if (!parentMinimized) {
+ if (key) {
+ makeKeyAndOrderFront ();
} else {
- window.deminiaturize (null);
+ window.orderFront (null);
+ }
+ if (isDisposed()) return;
+ if (minimized != window.isMiniaturized()) {
+ if (minimized) {
+ window.miniaturize (null);
+ } else {
+ window.deminiaturize (null);
+ }
}
}
}
}
- }
+ if (isDisposed()) return;
updateParent (visible);
opened = true;
if (!moved) {