From b7903f6d197e5420d2e612a8028033b1507b80d9 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 6 Dec 2008 11:13:50 +0000 Subject: [PATCH] Replace call to ExtractIconExW (shell32.dll) by a call to PrivateExtractIconExw (user32.dll) and remove shell32.dll from the list of linked libraries because shell32.dll requires a valid user account upon initialization. Please remember: Don't use high-level DLLs in low-level components (dll or exe)!!!! svn path=/trunk/; revision=37891 --- reactos/subsystems/win32/csrss/win32csr/appswitch.c | 5 ++++- reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/reactos/subsystems/win32/csrss/win32csr/appswitch.c b/reactos/subsystems/win32/csrss/win32csr/appswitch.c index e4997941d88..43d241edc92 100644 --- a/reactos/subsystems/win32/csrss/win32csr/appswitch.c +++ b/reactos/subsystems/win32/csrss/win32csr/appswitch.c @@ -26,6 +26,9 @@ static DWORD NumOfWindows = 0; static HWND hAppWindowDlg = NULL; static HHOOK hhk = NULL; +UINT WINAPI PrivateExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT); + + BOOL CALLBACK EnumWindowEnumProc( @@ -55,7 +58,7 @@ EnumWindowEnumProc( if (GetModuleFileNameExW(hProcess, NULL, szFileName, MAX_PATH)) { szFileName[MAX_PATH-1] = L'\0'; - ExtractIconExW(szFileName, 0, &hIcon, NULL, 1); + PrivateExtractIconExW(szFileName, 0, &hIcon, NULL, 1); } } } diff --git a/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild b/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild index ba304e447d4..bcccf3983f9 100644 --- a/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild +++ b/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild @@ -13,9 +13,8 @@ user32 gdi32 advapi32 - win32ksys + win32ksys psapi - shell32 w32csr.h alias.c conio.c