Alexandre Julliard : user32: Don' t call GetModuleFileNameW under the user lock.
Alexandre Julliard
julliard at winehq.org
Tue Dec 14 10:55:42 CST 2010
Module: wine
Branch: master
Commit: 2c63cf58eaeec9495c8aa174d62fe1c31aad3e74
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2c63cf58eaeec9495c8aa174d62fe1c31aad3e74
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Dec 14 13:49:14 2010 +0100
user32: Don't call GetModuleFileNameW under the user lock.
---
dlls/user32/cursoricon.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
index eeaae7a..356dbd8 100644
--- a/dlls/user32/cursoricon.c
+++ b/dlls/user32/cursoricon.c
@@ -1682,6 +1682,7 @@ BOOL WINAPI GetIconInfoExA( HICON icon, ICONINFOEXA *info )
BOOL WINAPI GetIconInfoExW( HICON icon, ICONINFOEXW *info )
{
struct cursoricon_object *ptr;
+ HMODULE module;
BOOL ret = TRUE;
if (info->cbSize != sizeof(*info))
@@ -1707,7 +1708,6 @@ BOOL WINAPI GetIconInfoExW( HICON icon, ICONINFOEXW *info )
info->szResName[0] = 0;
if (ptr->module)
{
- GetModuleFileNameW( ptr->module, info->szModName, MAX_PATH );
if (IS_INTRESOURCE( ptr->resname )) info->wResID = LOWORD( ptr->resname );
else lstrcpynW( info->szResName, ptr->resname, MAX_PATH );
}
@@ -1717,7 +1717,9 @@ BOOL WINAPI GetIconInfoExW( HICON icon, ICONINFOEXW *info )
DeleteObject( info->hbmColor );
ret = FALSE;
}
+ module = ptr->module;
release_icon_ptr( icon, ptr );
+ if (ret && module) GetModuleFileNameW( module, info->szModName, MAX_PATH );
return ret;
}
More information about the wine-cvs
mailing list