Vincent Povirk : shell32: Don' t access szFullPath when SHGFI_PIDL is set in SHGetFileInfo.
Module: wine Branch: master Commit: 537bfbf4946837ce8739b5722c22f0d45abceacf URL: http://source.winehq.org/git/wine.git/?a=commit;h=537bfbf4946837ce8739b5722c... Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Fri Jul 16 15:36:30 2010 -0500 shell32: Don't access szFullPath when SHGFI_PIDL is set in SHGetFileInfo. --- dlls/shell32/shell32_main.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c index 2824268..75b9c7e 100644 --- a/dlls/shell32/shell32_main.c +++ b/dlls/shell32/shell32_main.c @@ -436,7 +436,7 @@ DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes, /* get the displayname */ if (SUCCEEDED(hr) && (flags & SHGFI_DISPLAYNAME)) { - if (flags & SHGFI_USEFILEATTRIBUTES) + if (flags & SHGFI_USEFILEATTRIBUTES && !(flags & SHGFI_PIDL)) { lstrcpyW (psfi->szDisplayName, PathFindFileNameW(szFullPath)); } @@ -455,7 +455,7 @@ DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes, static const WCHAR szFile[] = { 'F','i','l','e',0 }; static const WCHAR szDashFile[] = { '-','f','i','l','e',0 }; - if (!(flags & SHGFI_USEFILEATTRIBUTES)) + if (!(flags & SHGFI_USEFILEATTRIBUTES) || (flags & SHGFI_PIDL)) { char ftype[80]; @@ -508,7 +508,7 @@ DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes, { UINT uDummy,uFlags; - if (flags & SHGFI_USEFILEATTRIBUTES) + if (flags & SHGFI_USEFILEATTRIBUTES && !(flags & SHGFI_PIDL)) { if (dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
participants (1)
-
Alexandre Julliard