user32: Don't call GetModuleFileNameW under the user lock.
This commit is contained in:
parent
6c94cdc903
commit
2c63cf58ea
@ -1682,6 +1682,7 @@ BOOL WINAPI GetIconInfoExA( HICON icon, ICONINFOEXA *info )
|
|||||||
BOOL WINAPI GetIconInfoExW( HICON icon, ICONINFOEXW *info )
|
BOOL WINAPI GetIconInfoExW( HICON icon, ICONINFOEXW *info )
|
||||||
{
|
{
|
||||||
struct cursoricon_object *ptr;
|
struct cursoricon_object *ptr;
|
||||||
|
HMODULE module;
|
||||||
BOOL ret = TRUE;
|
BOOL ret = TRUE;
|
||||||
|
|
||||||
if (info->cbSize != sizeof(*info))
|
if (info->cbSize != sizeof(*info))
|
||||||
@ -1707,7 +1708,6 @@ BOOL WINAPI GetIconInfoExW( HICON icon, ICONINFOEXW *info )
|
|||||||
info->szResName[0] = 0;
|
info->szResName[0] = 0;
|
||||||
if (ptr->module)
|
if (ptr->module)
|
||||||
{
|
{
|
||||||
GetModuleFileNameW( ptr->module, info->szModName, MAX_PATH );
|
|
||||||
if (IS_INTRESOURCE( ptr->resname )) info->wResID = LOWORD( ptr->resname );
|
if (IS_INTRESOURCE( ptr->resname )) info->wResID = LOWORD( ptr->resname );
|
||||||
else lstrcpynW( info->szResName, ptr->resname, MAX_PATH );
|
else lstrcpynW( info->szResName, ptr->resname, MAX_PATH );
|
||||||
}
|
}
|
||||||
@ -1717,7 +1717,9 @@ BOOL WINAPI GetIconInfoExW( HICON icon, ICONINFOEXW *info )
|
|||||||
DeleteObject( info->hbmColor );
|
DeleteObject( info->hbmColor );
|
||||||
ret = FALSE;
|
ret = FALSE;
|
||||||
}
|
}
|
||||||
|
module = ptr->module;
|
||||||
release_icon_ptr( icon, ptr );
|
release_icon_ptr( icon, ptr );
|
||||||
|
if (ret && module) GetModuleFileNameW( module, info->szModName, MAX_PATH );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user