diff options
author | Kevin Barnes <krbarnes> | 2009-09-30 14:20:49 +0000 |
---|---|---|
committer | Kevin Barnes <krbarnes> | 2009-09-30 14:20:49 +0000 |
commit | cc2f95700abbd562a809bcea8ecb2bfd3eb3b0db (patch) | |
tree | b743f928e6e07f1cb4bfd98828820008e57e6dc7 | |
parent | 79d68bc274ea6773c6eb1fb7c57de7bbf975bb0e (diff) | |
download | eclipse.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-x | bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java | 42 |
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) { |