summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Northover <steve>2002-12-06 17:28:34 +0000
committerSteve Northover <steve>2002-12-06 17:28:34 +0000
commit9d6a6181675ef3f8321a99a2d87021399f910ba2 (patch)
tree394d9ae165f7bc9225e36c713962b55ef7ba7d62
parent28964173c341f5f58ee1a8e924fc70bb1a37d159 (diff)
downloadeclipse.platform.swt-9d6a6181675ef3f8321a99a2d87021399f910ba2.tar.gz
eclipse.platform.swt-9d6a6181675ef3f8321a99a2d87021399f910ba2.tar.xz
eclipse.platform.swt-9d6a6181675ef3f8321a99a2d87021399f910ba2.zip
*** empty log message ***
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Display.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Display.java
index d7800451d1..b451652ec0 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Display.java
@@ -870,7 +870,14 @@ int mouseProc (int nextHandler, int theEvent, int userData) {
switch (part) {
case OS.inMenuBar: {
if (eventKind == OS.kEventMouseDown) {
- OS.MenuSelect (where);
+ boolean modal = false;
+ int activeWindow = OS.ActiveNonFloatingWindow ();
+ if (activeWindow != 0) {
+ int [] outModalityKind = new int [1], outUnavailableWindow = new int [1];
+ OS.GetWindowModality (activeWindow, outModalityKind, outUnavailableWindow);
+ modal = outModalityKind [0] != OS.kWindowModalityNone;
+ }
+ if (!modal) OS.MenuSelect (where);
return OS.noErr;
}
break;