Mariusz Pluciński : shell32: Add support of parent folder to RegisterFolder.
Module: wine Branch: master Commit: 06f706a068c8fc1a41755004ee296aab886f2eda URL: http://source.winehq.org/git/wine.git/?a=commit;h=06f706a068c8fc1a41755004ee... Author: Mariusz Pluciński <vshader(a)gmail.com> Date: Wed Jun 29 19:34:44 2011 +0200 shell32: Add support of parent folder to RegisterFolder. --- dlls/shell32/shellpath.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c index aed7ceb..33c9908 100644 --- a/dlls/shell32/shellpath.c +++ b/dlls/shell32/shellpath.c @@ -3080,6 +3080,7 @@ HRESULT WINAPI SHGetFolderPathEx(REFKNOWNFOLDERID rfid, DWORD flags, HANDLE toke static const WCHAR szCategory[] = {'C','a','t','e','g','o','r','y',0}; static const WCHAR szName[] = {'N','a','m','e',0}; static const WCHAR szRelativePath[] = {'R','e','l','a','t','i','v','e','P','a','t','h',0}; +static const WCHAR szParentFolder[] = {'P','a','r','e','n','t','F','o','l','d','e','r',0}; /* * Internal function to convert known folder identifier to path of registry key @@ -3566,6 +3567,15 @@ static HRESULT WINAPI foldermanager_RegisterFolder( if(SUCCEEDED(hr)) hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, szName, 0, REG_SZ, (LPBYTE)pKFD->pszName, (lstrlenW(pKFD->pszName)+1)*sizeof(WCHAR) )); + if(SUCCEEDED(hr) && !IsEqualGUID(&pKFD->fidParent, &GUID_NULL)) + { + WCHAR sParentGuid[39]; + StringFromGUID2(&pKFD->fidParent, sParentGuid, sizeof(sParentGuid)/sizeof(sParentGuid[0])); + + /* this known folder has parent folder */ + hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, szParentFolder, 0, REG_SZ, (LPBYTE)sParentGuid, sizeof(sParentGuid))); + } + if(SUCCEEDED(hr) && pKFD->category != KF_CATEGORY_VIRTUAL) hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, szRelativePath, 0, REG_SZ, (LPBYTE)pKFD->pszRelativePath, (lstrlenW(pKFD->pszRelativePath)+1)*sizeof(WCHAR) ));
participants (1)
-
Alexandre Julliard