mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 08:55:19 +00:00
[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. svn path=/trunk/; revision=65683
This commit is contained in:
parent
8ebed423a8
commit
db53788957
1 changed files with 2 additions and 16 deletions
|
@ -392,23 +392,9 @@ static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags)
|
|||
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)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue