Author: dquintana
Date: Tue Dec 16 18:21:48 2014
New Revision: 65683

URL: http://svn.reactos.org/svn/reactos?rev=65683&view=rev
Log:
[SHELL32]
* Use PrivateExtractIconsW instead of PrivateExtractIconExW to obtain the icons 
for caching. Fixes small shell icons using large icons scaled down instead of 
the proper 16px icons. Patch by Ismael Ferreras Morezuelas (swyter).
CORE-8404 #resolve #comment Commited in r65683. Thanks.

Modified:
    trunk/reactos/dll/win32/shell32/iconcache.cpp

Modified: trunk/reactos/dll/win32/shell32/iconcache.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/iconcache.cpp?rev=65683&r1=65682&r2=65683&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/iconcache.cpp       [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/iconcache.cpp       [iso-8859-1] Tue Dec 16 
18:21:48 2014
@@ -392,23 +392,9 @@
     HICON hiconLarge=0;
     HICON hiconSmall=0;
     UINT ret;
-    static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) 
= NULL;
-
-    if (!PrivateExtractIconExW)
-    {
-        HMODULE hUser32 = GetModuleHandleA("user32");
-        PrivateExtractIconExW = 
(UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, 
"PrivateExtractIconExW");
-    }
-
-    if (PrivateExtractIconExW)
-    {
-        PrivateExtractIconExW(sSourceFile, dwSourceIndex, &hiconLarge, 
&hiconSmall, 1);
-    }
-    else
-    {
-        PrivateExtractIconsW(sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, 
NULL, 1, 0);
-        PrivateExtractIconsW(sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, 
NULL, 1, 0);
-    }
+
+    PrivateExtractIconsW(sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, 
NULL, 1, LR_COPYFROMRESOURCE);
+    PrivateExtractIconsW(sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, 
NULL, 1, LR_COPYFROMRESOURCE);
 
     if ( !hiconLarge ||  !hiconSmall)
     {


Reply via email to