Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarolyn MacLeod2012-04-12 16:20:58 +0000
committerCarolyn MacLeod2012-04-12 16:22:10 +0000
commit03e9337cff914952fb1035dfe434f96ff4fbfbb4 (patch)
tree5a055854f95d479c842fc311a881677378e09568
parent68d74bc2396864895f8a75ab39d096e42077905e (diff)
downloadeclipse.platform.swt-03e9337cff914952fb1035dfe434f96ff4fbfbb4.tar.gz
eclipse.platform.swt-03e9337cff914952fb1035dfe434f96ff4fbfbb4.tar.xz
eclipse.platform.swt-03e9337cff914952fb1035dfe434f96ff4fbfbb4.zip
Bug 376213 - MenuItem.setEnabled: "Cannot set the enabled state"
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java25
1 files changed, 20 insertions, 5 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java
index e667cffbf7..709847e82b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java
@@ -714,7 +714,10 @@ public void setEnabled (boolean enabled) {
info.cbSize = MENUITEMINFO.sizeof;
info.fMask = OS.MIIM_STATE;
boolean success = OS.GetMenuItemInfo (hMenu, id, false, info);
- if (!success) error (SWT.ERROR_CANNOT_SET_ENABLED);
+ if (!success) {
+ int error = OS.GetLastError();
+ SWT.error (SWT.ERROR_CANNOT_SET_ENABLED, null, " [GetLastError=0x" + Integer.toHexString(error) + "]");//$NON-NLS-1$ $NON-NLS-2$
+ }
int bits = OS.MFS_DISABLED | OS.MFS_GRAYED;
if (enabled) {
if ((info.fState & bits) == 0) return;
@@ -736,7 +739,10 @@ public void setEnabled (boolean enabled) {
if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) {
success = id == OS.GetMenuDefaultItem (hMenu, OS.MF_BYCOMMAND, OS.GMDI_USEDISABLED);
}
- if (!success) error (SWT.ERROR_CANNOT_SET_ENABLED);
+ if (!success) {
+ int error = OS.GetLastError();
+ SWT.error (SWT.ERROR_CANNOT_SET_ENABLED, null, " [GetLastError=0x" + Integer.toHexString(error) + "]");//$NON-NLS-1$ $NON-NLS-2$
+ }
}
}
}
@@ -954,7 +960,10 @@ void setMenu (Menu menu, boolean dispose) {
}
}
if (pszText != 0) OS.HeapFree (hHeap, 0, pszText);
- if (!success) error (SWT.ERROR_CANNOT_SET_MENU);
+ if (!success) {
+ int error = OS.GetLastError();
+ SWT.error (SWT.ERROR_CANNOT_SET_MENU, null, " [GetLastError=0x" + Integer.toHexString(error) + "]");//$NON-NLS-1$ $NON-NLS-2$
+ }
}
parent.destroyAccelerators ();
}
@@ -1022,7 +1031,10 @@ public void setSelection (boolean selected) {
if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) {
success = id == OS.GetMenuDefaultItem (hMenu, OS.MF_BYCOMMAND, OS.GMDI_USEDISABLED);
}
- if (!success) error (SWT.ERROR_CANNOT_SET_SELECTION);
+ if (!success) {
+ int error = OS.GetLastError();
+ SWT.error (SWT.ERROR_CANNOT_SET_SELECTION, null, " [GetLastError=0x" + Integer.toHexString(error) + "]");//$NON-NLS-1$ $NON-NLS-2$
+ }
}
}
parent.redraw ();
@@ -1126,7 +1138,10 @@ public void setText (String string) {
success = OS.SetMenuItemInfo (hMenu, id, false, info);
}
if (pszText != 0) OS.HeapFree (hHeap, 0, pszText);
- if (!success) error (SWT.ERROR_CANNOT_SET_TEXT);
+ if (!success) {
+ int error = OS.GetLastError();
+ SWT.error (SWT.ERROR_CANNOT_SET_TEXT, null, " [GetLastError=0x" + Integer.toHexString(error) + "]");//$NON-NLS-1$ $NON-NLS-2$
+ }
parent.redraw ();
}

Back to the top