PATCH: controls/menu.c case ranges
Marcus Meissner
marcus at jet.franken.de
Thu Jul 22 16:03:29 CDT 2004
Hi,
Another try on fixing the case range problems (WORD is unsigned,
HBMMENU_CALLBACK is -1, so out of range of the switch).
Ciao, Marcus
Changelog:
Cast all cases to WORD, as that is what LOWORD() returns.
Index: controls/menu.c
===================================================================
RCS file: /home/wine/wine/controls/menu.c,v
retrieving revision 1.184
diff -u -r1.184 menu.c
--- controls/menu.c 19 Jul 2004 21:21:40 -0000 1.184
+++ controls/menu.c 22 Jul 2004 21:02:29 -0000
@@ -720,26 +720,26 @@
{
switch(LOWORD(id))
{
- case (INT_PTR)HBMMENU_SYSTEM:
+ case (WORD)HBMMENU_SYSTEM:
if (data)
{
bmp = (HBITMAP)data;
break;
}
/* fall through */
- case (INT_PTR)HBMMENU_MBAR_RESTORE:
- case (INT_PTR)HBMMENU_MBAR_MINIMIZE:
- case (INT_PTR)HBMMENU_MBAR_MINIMIZE_D:
- case (INT_PTR)HBMMENU_MBAR_CLOSE:
- case (INT_PTR)HBMMENU_MBAR_CLOSE_D:
+ case (WORD)HBMMENU_MBAR_RESTORE:
+ case (WORD)HBMMENU_MBAR_MINIMIZE:
+ case (WORD)HBMMENU_MBAR_MINIMIZE_D:
+ case (WORD)HBMMENU_MBAR_CLOSE:
+ case (WORD)HBMMENU_MBAR_CLOSE_D:
size->cx = GetSystemMetrics( SM_CYMENU ) - 4;
size->cy = size->cx;
return;
- case (INT_PTR)HBMMENU_CALLBACK:
- case (INT_PTR)HBMMENU_POPUP_CLOSE:
- case (INT_PTR)HBMMENU_POPUP_RESTORE:
- case (INT_PTR)HBMMENU_POPUP_MAXIMIZE:
- case (INT_PTR)HBMMENU_POPUP_MINIMIZE:
+ case (WORD)HBMMENU_CALLBACK:
+ case (WORD)HBMMENU_POPUP_CLOSE:
+ case (WORD)HBMMENU_POPUP_RESTORE:
+ case (WORD)HBMMENU_POPUP_MAXIMIZE:
+ case (WORD)HBMMENU_POPUP_MINIMIZE:
default:
FIXME("Magic 0x%08x not implemented\n", id);
return;
@@ -776,7 +776,7 @@
switch(LOWORD(lpitem->text))
{
- case (INT_PTR)HBMMENU_SYSTEM:
+ case (WORD)HBMMENU_SYSTEM:
if (lpitem->dwItemData)
{
bmp = (HBITMAP)lpitem->dwItemData;
@@ -791,26 +791,26 @@
bm.bmWidth -= bmp_xoffset;
}
goto got_bitmap;
- case (INT_PTR)HBMMENU_MBAR_RESTORE:
+ case (WORD)HBMMENU_MBAR_RESTORE:
flags = DFCS_CAPTIONRESTORE;
break;
- case (INT_PTR)HBMMENU_MBAR_MINIMIZE:
+ case (WORD)HBMMENU_MBAR_MINIMIZE:
flags = DFCS_CAPTIONMIN;
break;
- case (INT_PTR)HBMMENU_MBAR_MINIMIZE_D:
+ case (WORD)HBMMENU_MBAR_MINIMIZE_D:
flags = DFCS_CAPTIONMIN | DFCS_INACTIVE;
break;
- case (INT_PTR)HBMMENU_MBAR_CLOSE:
+ case (WORD)HBMMENU_MBAR_CLOSE:
flags = DFCS_CAPTIONCLOSE;
break;
- case (INT_PTR)HBMMENU_MBAR_CLOSE_D:
+ case (WORD)HBMMENU_MBAR_CLOSE_D:
flags = DFCS_CAPTIONCLOSE | DFCS_INACTIVE;
break;
- case (INT_PTR)HBMMENU_CALLBACK:
- case (INT_PTR)HBMMENU_POPUP_CLOSE:
- case (INT_PTR)HBMMENU_POPUP_RESTORE:
- case (INT_PTR)HBMMENU_POPUP_MAXIMIZE:
- case (INT_PTR)HBMMENU_POPUP_MINIMIZE:
+ case (WORD)HBMMENU_CALLBACK:
+ case (WORD)HBMMENU_POPUP_CLOSE:
+ case (WORD)HBMMENU_POPUP_RESTORE:
+ case (WORD)HBMMENU_POPUP_MAXIMIZE:
+ case (WORD)HBMMENU_POPUP_MINIMIZE:
default:
FIXME("Magic 0x%08x not implemented\n", LOWORD(lpitem->text));
return;
--
More information about the wine-patches
mailing list