Roy Shea : shell32: Use default system icons if PrivateExtractIconsW in SHGetFileInfoW fails.
Alexandre Julliard
julliard at winehq.org
Thu Sep 11 08:00:19 CDT 2008
Module: wine
Branch: master
Commit: 5b6806922aedc00e445f009389b2832c5da690ac
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5b6806922aedc00e445f009389b2832c5da690ac
Author: Roy Shea <royshea at gmail.com>
Date: Wed Sep 10 14:33:02 2008 -0700
shell32: Use default system icons if PrivateExtractIconsW in SHGetFileInfoW fails.
---
dlls/shell32/shell32_main.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index 9c400e4..a0d3fe7 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -596,18 +596,22 @@ DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
}
else
{
- IconNotYetLoaded=FALSE;
+ UINT ret;
if (flags & SHGFI_SMALLICON)
- PrivateExtractIconsW( sTemp,icon_idx,
+ ret = PrivateExtractIconsW( sTemp,icon_idx,
GetSystemMetrics( SM_CXSMICON ),
GetSystemMetrics( SM_CYSMICON ),
&psfi->hIcon, 0, 1, 0);
else
- PrivateExtractIconsW( sTemp, icon_idx,
+ ret = PrivateExtractIconsW( sTemp, icon_idx,
GetSystemMetrics( SM_CXICON),
GetSystemMetrics( SM_CYICON),
&psfi->hIcon, 0, 1, 0);
- psfi->iIcon = icon_idx;
+ if (ret != 0 && ret != 0xFFFFFFFF)
+ {
+ IconNotYetLoaded=FALSE;
+ psfi->iIcon = icon_idx;
+ }
}
}
}
More information about the wine-cvs
mailing list