Alexandre Julliard : user32: Always pass 0 as item id for WM_MEASUREITEM in menus.
Alexandre Julliard
julliard at winehq.org
Tue Jun 21 12:25:41 CDT 2011
Module: wine
Branch: master
Commit: efaa068cd1280e411cc6ff5ecc8ae30d36ad4559
URL: http://source.winehq.org/git/wine.git/?a=commit;h=efaa068cd1280e411cc6ff5ecc8ae30d36ad4559
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Jun 21 16:12:53 2011 +0200
user32: Always pass 0 as item id for WM_MEASUREITEM in menus.
---
dlls/user32/menu.c | 2 +-
dlls/user32/tests/menu.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c
index b0c7f78..3ec682f 100644
--- a/dlls/user32/menu.c
+++ b/dlls/user32/menu.c
@@ -822,7 +822,7 @@ static void MENU_GetBitmapItemSize( MENUITEM *lpitem, SIZE *size,
measItem.itemWidth = lpitem->rect.right - lpitem->rect.left;
measItem.itemHeight = lpitem->rect.bottom - lpitem->rect.top;
measItem.itemData = lpitem->dwItemData;
- SendMessageW( hwndOwner, WM_MEASUREITEM, lpitem->wID, (LPARAM)&measItem);
+ SendMessageW( hwndOwner, WM_MEASUREITEM, 0, (LPARAM)&measItem);
size->cx = measItem.itemWidth;
size->cy = measItem.itemHeight;
return;
diff --git a/dlls/user32/tests/menu.c b/dlls/user32/tests/menu.c
index 5c133f9..e29039a 100644
--- a/dlls/user32/tests/menu.c
+++ b/dlls/user32/tests/menu.c
@@ -169,6 +169,8 @@ static LRESULT WINAPI menu_ownerdraw_wnd_proc(HWND hwnd, UINT msg,
if( winetest_debug)
trace("WM_MEASUREITEM received data %lx size %dx%d\n",
pmis->itemData, pmis->itemWidth, pmis->itemHeight);
+ ok( !wparam, "wrong wparam %lx\n", wparam );
+ ok( pmis->CtlType == ODT_MENU, "wrong type %x\n", pmis->CtlType );
MOD_odheight = pmis->itemHeight;
pmis->itemWidth = MODsizes[pmis->itemData].cx;
pmis->itemHeight = MODsizes[pmis->itemData].cy;
@@ -197,6 +199,8 @@ static LRESULT WINAPI menu_ownerdraw_wnd_proc(HWND hwnd, UINT msg,
pdis->rcItem.right,pdis->rcItem.bottom );
SelectObject( pdis->hDC, oldpen);
}
+ ok( !wparam, "wrong wparam %lx\n", wparam );
+ ok( pdis->CtlType == ODT_MENU, "wrong type %x\n", pdis->CtlType );
/* calculate widths of some menu texts */
if( ! MOD_txtsizes[0].size.cx)
for(i = 0; MOD_txtsizes[i].text; i++) {
More information about the wine-cvs
mailing list