diff options
| author | Carolyn MacLeod | 2012-04-12 16:20:58 +0000 |
|---|---|---|
| committer | Carolyn MacLeod | 2012-04-12 16:22:10 +0000 |
| commit | 03e9337cff914952fb1035dfe434f96ff4fbfbb4 (patch) | |
| tree | 5a055854f95d479c842fc311a881677378e09568 | |
| parent | 68d74bc2396864895f8a75ab39d096e42077905e (diff) | |
| download | eclipse.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.java | 25 |
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 (); } |
