Rein Klazes : user32: Menu tracing improvements.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Jan 4 08:42:02 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 1d4b52c25414c4cd9c5454b4eca7a2862ca9431c
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=1d4b52c25414c4cd9c5454b4eca7a2862ca9431c
Author: Rein Klazes <wijn at wanadoo.nl>
Date: Wed Jan 4 14:48:07 2006 +0100
user32: Menu tracing improvements.
---
dlls/user/menu.c | 149 ++++++++++++++++++++++++------------------------------
1 files changed, 65 insertions(+), 84 deletions(-)
diff --git a/dlls/user/menu.c b/dlls/user/menu.c
index a6e5742..0152ede 100644
--- a/dlls/user/menu.c
+++ b/dlls/user/menu.c
@@ -210,74 +210,64 @@ const struct builtin_class_descr MENU_bu
static void do_debug_print_menuitem(const char *prefix, MENUITEM * mp,
const char *postfix)
{
+ static const char * const hbmmenus[] = { "HBMMENU_CALLBACK", "", "HBMMENU_SYSTEM",
+ "HBMMENU_MBAR_RESTORE", "HBMMENU_MBAR_MINIMIZE", "HBMMENU_MBAR_CLOSE",
+ "HBMMENU_MBAR_CLOSE_D", "HBMMENU_MBAR_MINIMIZE_D", "HBMMENU_POPUP_CLOSE",
+ "HBMMENU_POPUP_RESTORE", "HBMMENU_POPUP_MAXIMIZE", "HBMMENU_POPUP_MINIMIZE"};
TRACE("%s ", prefix);
if (mp) {
- UINT flags = mp->fType;
- int type = MENU_ITEM_TYPE(flags);
- TRACE( "{ ID=0x%x", mp->wID);
- if (flags & MF_POPUP)
- TRACE( ", Sub=%p", mp->hSubMenu);
- if (flags) {
- int count = 0;
- TRACE( ", Type=");
- if (type == MFT_STRING)
- /* Nothing */ ;
- else if (type == MFT_SEPARATOR)
- MENUOUT("sep");
- else if (type == MFT_OWNERDRAW)
- MENUOUT("own");
- else if (type == MFT_BITMAP)
- MENUOUT("bit");
- else
- MENUOUT("???");
- flags -= type;
-
- MENUFLAG(MF_POPUP, "pop");
- MENUFLAG(MFT_MENUBARBREAK, "barbrk");
- MENUFLAG(MFT_MENUBREAK, "brk");
- MENUFLAG(MFT_RADIOCHECK, "radio");
- MENUFLAG(MFT_RIGHTORDER, "rorder");
- MENUFLAG(MF_SYSMENU, "sys");
- MENUFLAG(MFT_RIGHTJUSTIFY, "right"); /* same as MF_HELP */
-
- if (flags)
- TRACE( "+0x%x", flags);
- }
- flags = mp->fState;
- if (flags) {
- int count = 0;
- TRACE( ", State=");
- MENUFLAG(MFS_GRAYED, "grey");
- MENUFLAG(MFS_DEFAULT, "default");
- MENUFLAG(MFS_DISABLED, "dis");
- MENUFLAG(MFS_CHECKED, "check");
- MENUFLAG(MFS_HILITE, "hi");
- MENUFLAG(MF_USECHECKBITMAPS, "usebit");
- MENUFLAG(MF_MOUSESELECT, "mouse");
- if (flags)
- TRACE( "+0x%x", flags);
- }
- if (mp->hCheckBit)
- TRACE( ", Chk=%p", mp->hCheckBit);
- if (mp->hUnCheckBit)
- TRACE( ", Unc=%p", mp->hUnCheckBit);
-
- if (type == MFT_STRING) {
- if (mp->text)
- TRACE( ", Text=%s", debugstr_w(mp->text));
- else
- TRACE( ", Text=Null");
- } else if (mp->text == NULL)
- /* Nothing */ ;
- else
- TRACE( ", Text=%p", mp->text);
- if (mp->dwItemData)
- TRACE( ", ItemData=0x%08lx", mp->dwItemData);
- TRACE( " }");
- } else {
- TRACE( "NULL");
- }
-
+ UINT flags = mp->fType;
+ TRACE( "{ ID=0x%x", mp->wID);
+ if ( mp->hSubMenu)
+ TRACE( ", Sub=%p", mp->hSubMenu);
+ if (flags) {
+ int count = 0;
+ TRACE( ", fType=");
+ MENUFLAG( MFT_SEPARATOR, "sep");
+ MENUFLAG( MFT_OWNERDRAW, "own");
+ MENUFLAG( MFT_BITMAP, "bit");
+ MENUFLAG(MF_POPUP, "pop");
+ MENUFLAG(MFT_MENUBARBREAK, "barbrk");
+ MENUFLAG(MFT_MENUBREAK, "brk");
+ MENUFLAG(MFT_RADIOCHECK, "radio");
+ MENUFLAG(MFT_RIGHTORDER, "rorder");
+ MENUFLAG(MF_SYSMENU, "sys");
+ MENUFLAG(MFT_RIGHTJUSTIFY, "right"); /* same as MF_HELP */
+ if (flags)
+ TRACE( "+0x%x", flags);
+ }
+ flags = mp->fState;
+ if (flags) {
+ int count = 0;
+ TRACE( ", State=");
+ MENUFLAG(MFS_GRAYED, "grey");
+ MENUFLAG(MFS_DEFAULT, "default");
+ MENUFLAG(MFS_DISABLED, "dis");
+ MENUFLAG(MFS_CHECKED, "check");
+ MENUFLAG(MFS_HILITE, "hi");
+ MENUFLAG(MF_USECHECKBITMAPS, "usebit");
+ MENUFLAG(MF_MOUSESELECT, "mouse");
+ if (flags)
+ TRACE( "+0x%x", flags);
+ }
+ if (mp->hCheckBit)
+ TRACE( ", Chk=%p", mp->hCheckBit);
+ if (mp->hUnCheckBit)
+ TRACE( ", Unc=%p", mp->hUnCheckBit);
+ if (mp->text)
+ TRACE( ", Text=%s", debugstr_w(mp->text));
+ if (mp->dwItemData)
+ TRACE( ", ItemData=0x%08lx", mp->dwItemData);
+ if (mp->hbmpItem)
+ {
+ if( IS_MAGIC_BITMAP(mp->hbmpItem))
+ TRACE( ", hbitmap=%s", hbmmenus[ (INT_PTR)mp->hbmpItem + 1]);
+ else
+ TRACE( ", hbitmap=%p", mp->hbmpItem);
+ }
+ TRACE( " }");
+ } else
+ TRACE( "NULL");
TRACE(" %s\n", postfix);
}
@@ -965,7 +955,7 @@ static void MENU_CalcItemSize( HDC hdc,
- arrow_bitmap_width;
}
}
- TRACE("(%ld,%ld)-(%ld,%ld)\n", lpitem->rect.left, lpitem->rect.top, lpitem->rect.right, lpitem->rect.bottom);
+ TRACE("%s\n", wine_dbgstr_rect( &lpitem->rect));
}
@@ -1059,8 +1049,7 @@ static void MENU_MenuBarCalcSize( HDC hd
if ((lprect == NULL) || (lppop == NULL)) return;
if (lppop->nItems == 0) return;
- TRACE("left=%ld top=%ld right=%ld bottom=%ld\n",
- lprect->left, lprect->top, lprect->right, lprect->bottom);
+ TRACE("lprect %p %s\n", lprect, wine_dbgstr_rect( lprect));
lppop->Width = lprect->right - lprect->left;
lppop->Height = 0;
maxY = lprect->top+1;
@@ -1081,8 +1070,7 @@ static void MENU_MenuBarCalcSize( HDC hd
if ((i != start) &&
(lpitem->fType & (MF_MENUBREAK | MF_MENUBARBREAK))) break;
- TRACE("calling MENU_CalcItemSize org=(%d, %d)\n",
- orgX, orgY );
+ TRACE("calling MENU_CalcItemSize org=(%d, %d)\n", orgX, orgY );
debug_print_menuitem (" item: ", lpitem, "");
MENU_CalcItemSize( hdc, lpitem, hwndOwner, orgX, orgY, TRUE, lppop );
@@ -1192,16 +1180,14 @@ static void MENU_DrawMenuItem( HWND hwnd
dis.hDC = hdc;
dis.rcItem = lpitem->rect;
TRACE("Ownerdraw: owner=%p itemID=%d, itemState=%d, itemAction=%d, "
- "hwndItem=%p, hdc=%p, rcItem={%ld,%ld,%ld,%ld}\n", hwndOwner,
+ "hwndItem=%p, hdc=%p, rcItem=%s\n", hwndOwner,
dis.itemID, dis.itemState, dis.itemAction, dis.hwndItem,
- dis.hDC, dis.rcItem.left, dis.rcItem.top, dis.rcItem.right,
- dis.rcItem.bottom);
+ dis.hDC, wine_dbgstr_rect( &dis.rcItem));
SendMessageW( hwndOwner, WM_DRAWITEM, 0, (LPARAM)&dis );
/* Fall through to draw popup-menu arrow */
}
- TRACE("rect={%ld,%ld,%ld,%ld}\n", lpitem->rect.left, lpitem->rect.top,
- lpitem->rect.right,lpitem->rect.bottom);
+ TRACE("rect=%s\n", wine_dbgstr_rect( &lpitem->rect));
if (menuBar && (lpitem->fType & MF_SEPARATOR)) return;
@@ -2656,9 +2642,8 @@ static BOOL MENU_TrackMenu( HMENU hmenu,
mt.pt.x = x;
mt.pt.y = y;
- TRACE("hmenu=%p flags=0x%08x (%d,%d) hwnd=%p (%ld,%ld)-(%ld,%ld)\n",
- hmenu, wFlags, x, y, hwnd, (lprect) ? lprect->left : 0, (lprect) ? lprect->top : 0,
- (lprect) ? lprect->right : 0, (lprect) ? lprect->bottom : 0);
+ TRACE("hmenu=%p flags=0x%08x (%d,%d) hwnd=%p %s\n",
+ hmenu, wFlags, x, y, hwnd, wine_dbgstr_rect( lprect));
fEndMenu = FALSE;
if (!(menu = MENU_GetMenu( hmenu )))
@@ -2989,7 +2974,7 @@ void MENU_TrackMouseMenuBar( HWND hWnd,
HMENU hMenu = (ht == HTSYSMENU) ? get_win_sys_menu( hWnd ) : GetMenu( hWnd );
UINT wFlags = TPM_ENTERIDLEEX | TPM_BUTTONDOWN | TPM_LEFTALIGN | TPM_LEFTBUTTON;
- TRACE("wnd=%p ht=0x%04x (%ld,%ld)\n", hWnd, ht, pt.x, pt.y);
+ TRACE("wnd=%p ht=0x%04x %s\n", hWnd, ht, wine_dbgstr_point( &pt));
if (IsMenu(hMenu))
{
@@ -3543,13 +3528,9 @@ BOOL WINAPI ModifyMenuW( HMENU hMenu, UI
MENUITEM *item;
if (IS_STRING_ITEM(flags))
- {
TRACE("%p %d %04x %04x %s\n", hMenu, pos, flags, id, debugstr_w(str) );
- }
else
- {
TRACE("%p %d %04x %04x %p\n", hMenu, pos, flags, id, str );
- }
if (!(item = MENU_FindItem( &hMenu, &pos, flags ))) return FALSE;
MENU_GetMenu(hMenu)->Height = 0; /* force size recalculate */
More information about the wine-cvs
mailing list