From 5b6806922aedc00e445f009389b2832c5da690ac Mon Sep 17 00:00:00 2001 From: Roy Shea Date: Wed, 10 Sep 2008 14:33:02 -0700 Subject: [PATCH] shell32: Use default system icons if PrivateExtractIconsW in SHGetFileInfoW fails. --- dlls/shell32/shell32_main.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c index 9c400e451dd..a0d3fe720b5 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; + } } } }