Don't fetch the window class name if it's not needed to compute the
message name.
This commit is contained in:
parent
6f43c18fe7
commit
6bbd63e87f
|
@ -2007,6 +2007,28 @@ static const USER_MSG *SPY_Bsearch_Msg( const USER_MSG *first, const USER_MSG *l
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SPY_GetClassName
|
||||||
|
*
|
||||||
|
* Sets the value of "wnd_class" member of the instance structure.
|
||||||
|
*/
|
||||||
|
static void SPY_GetClassName( SPY_INSTANCE *sp_e )
|
||||||
|
{
|
||||||
|
DWORD save_error;
|
||||||
|
|
||||||
|
/* save and restore error code over the next call */
|
||||||
|
save_error = GetLastError();
|
||||||
|
/* special code to detect a property sheet dialog */
|
||||||
|
if ((GetClassLongW(sp_e->msg_hwnd, GCW_ATOM) == (LONG)WC_DIALOGW) &&
|
||||||
|
(GetPropW(sp_e->msg_hwnd, PropSheetInfoStr))) {
|
||||||
|
strcpyW(sp_e->wnd_class, WC_PROPSHEETW);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
GetClassNameW(sp_e->msg_hwnd, sp_e->wnd_class, sizeof(sp_e->wnd_class)/sizeof(WCHAR));
|
||||||
|
}
|
||||||
|
SetLastError(save_error);
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SPY_GetMsgStuff
|
* SPY_GetMsgStuff
|
||||||
*
|
*
|
||||||
|
@ -2031,6 +2053,8 @@ static void SPY_GetMsgStuff( SPY_INSTANCE *sp_e )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!sp_e->wnd_class[0]) SPY_GetClassName(sp_e);
|
||||||
|
|
||||||
#if DEBUG_SPY
|
#if DEBUG_SPY
|
||||||
TRACE("looking class %s\n", debugstr_w(sp_e->wnd_class));
|
TRACE("looking class %s\n", debugstr_w(sp_e->wnd_class));
|
||||||
#endif
|
#endif
|
||||||
|
@ -2073,20 +2097,9 @@ static void SPY_GetMsgStuff( SPY_INSTANCE *sp_e )
|
||||||
*/
|
*/
|
||||||
static void SPY_GetWndName( SPY_INSTANCE *sp_e )
|
static void SPY_GetWndName( SPY_INSTANCE *sp_e )
|
||||||
{
|
{
|
||||||
DWORD save_error;
|
|
||||||
INT len;
|
INT len;
|
||||||
|
|
||||||
/* save and restore error code over the next call */
|
SPY_GetClassName( sp_e );
|
||||||
save_error = GetLastError();
|
|
||||||
/* special code to detect a property sheet dialog */
|
|
||||||
if ((GetClassLongW(sp_e->msg_hwnd, GCW_ATOM) == (LONG)WC_DIALOGW) &&
|
|
||||||
(GetPropW(sp_e->msg_hwnd, PropSheetInfoStr))) {
|
|
||||||
strcpyW(sp_e->wnd_class, WC_PROPSHEETW);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
GetClassNameW(sp_e->msg_hwnd, sp_e->wnd_class, sizeof(sp_e->wnd_class)/sizeof(WCHAR));
|
|
||||||
}
|
|
||||||
SetLastError(save_error);
|
|
||||||
|
|
||||||
len = InternalGetWindowText(sp_e->msg_hwnd, sp_e->wnd_name, sizeof(sp_e->wnd_name)/sizeof(WCHAR));
|
len = InternalGetWindowText(sp_e->msg_hwnd, sp_e->wnd_name, sizeof(sp_e->wnd_name)/sizeof(WCHAR));
|
||||||
if(!len) /* get class name */
|
if(!len) /* get class name */
|
||||||
|
@ -2116,7 +2129,7 @@ const char *SPY_GetMsgName( UINT msg, HWND hWnd )
|
||||||
ext_sp_e.msg_hwnd = hWnd;
|
ext_sp_e.msg_hwnd = hWnd;
|
||||||
ext_sp_e.lParam = 0;
|
ext_sp_e.lParam = 0;
|
||||||
ext_sp_e.wParam = 0;
|
ext_sp_e.wParam = 0;
|
||||||
SPY_GetWndName(&ext_sp_e);
|
ext_sp_e.wnd_class[0] = 0;
|
||||||
SPY_GetMsgStuff(&ext_sp_e);
|
SPY_GetMsgStuff(&ext_sp_e);
|
||||||
return wine_dbg_sprintf("%s", ext_sp_e.msg_name);
|
return wine_dbg_sprintf("%s", ext_sp_e.msg_name);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue