From d7326ca7e5b0d7a912eacdeb7ba9196ca5dd9d91 Mon Sep 17 00:00:00 2001 From: Michael Jung Date: Tue, 14 Feb 2006 11:35:12 +0100 Subject: [PATCH] shell32: Return a GUID pidl for CSIDL_PERSONAL in SHGetFolderLocation. The tests (shellpath.c/testPersonal) already show that it can be either PT_FOLDER or PT_GUID. It's PT_GUID on WinXP. --- dlls/shell32/pidl.c | 6 ++++++ dlls/shell32/pidl.h | 1 + dlls/shell32/shellpath.c | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c index c4e54e06418..6ec496f6510 100644 --- a/dlls/shell32/pidl.c +++ b/dlls/shell32/pidl.c @@ -1380,6 +1380,12 @@ LPITEMIDLIST _ILCreateMyComputer() return _ILCreateGuid(PT_GUID, &CLSID_MyComputer); } +LPITEMIDLIST _ILCreateMyDocuments() +{ + TRACE("()\n"); + return _ILCreateGuid(PT_GUID, &CLSID_MyDocuments); +} + LPITEMIDLIST _ILCreateIExplore() { TRACE("()\n"); diff --git a/dlls/shell32/pidl.h b/dlls/shell32/pidl.h index 691aa2aa51f..e80ceaa8515 100644 --- a/dlls/shell32/pidl.h +++ b/dlls/shell32/pidl.h @@ -240,6 +240,7 @@ HRESULT _ILCreateFromPathW (LPCWSTR szPath, LPITEMIDLIST* ppidl); /* Other helpers */ LPITEMIDLIST _ILCreateMyComputer (void); +LPITEMIDLIST _ILCreateMyDocuments (void); LPITEMIDLIST _ILCreateIExplore (void); LPITEMIDLIST _ILCreateControlPanel (void); LPITEMIDLIST _ILCreatePrinters (void); diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c index 4c185396d11..c5975184de8 100644 --- a/dlls/shell32/shellpath.c +++ b/dlls/shell32/shellpath.c @@ -2223,6 +2223,10 @@ HRESULT WINAPI SHGetFolderLocation( *ppidl = _ILCreateDesktop(); break; + case CSIDL_PERSONAL: + *ppidl = _ILCreateMyDocuments(); + break; + case CSIDL_INTERNET: *ppidl = _ILCreateIExplore(); break;