Module: wine Branch: master Commit: 43e90c8ff74b89c45351f2efe43f3793f8a84098 URL: http://source.winehq.org/git/wine.git/?a=commit;h=43e90c8ff74b89c45351f2efe4...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Jul 7 11:47:58 2009 +0200
shell32: Add support for the CSIDL_SYSTEMX86 folder.
---
dlls/shell32/shellpath.c | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c index 2434e9a..44f0750 100644 --- a/dlls/shell32/shellpath.c +++ b/dlls/shell32/shellpath.c @@ -812,6 +812,7 @@ typedef enum _CSIDL_Type { CSIDL_Type_NonExistent, CSIDL_Type_WindowsPath, CSIDL_Type_SystemPath, + CSIDL_Type_SystemX86Path, } CSIDL_Type;
typedef struct @@ -1029,7 +1030,7 @@ static const CSIDL_DATA CSIDL_Data[] = NULL }, { /* 0x29 - CSIDL_SYSTEMX86 */ - CSIDL_Type_NonExistent, + CSIDL_Type_SystemX86Path, NULL, NULL }, @@ -1782,6 +1783,17 @@ HRESULT WINAPI SHGetFolderPathAndSubDirW( } hr = S_OK; break; + case CSIDL_Type_SystemX86Path: + if (!GetSystemWow64DirectoryW(szTemp, MAX_PATH)) GetSystemDirectoryW(szTemp, MAX_PATH); + if (CSIDL_Data[folder].szDefaultPath && + !IS_INTRESOURCE(CSIDL_Data[folder].szDefaultPath) && + *CSIDL_Data[folder].szDefaultPath) + { + PathAddBackslashW(szTemp); + strcatW(szTemp, CSIDL_Data[folder].szDefaultPath); + } + hr = S_OK; + break; case CSIDL_Type_CurrVer: hr = _SHGetCurrentVersionPath(dwFlags, folder, szTemp); break;