Alexandre Julliard : shell32: Add support for the CSIDL_SYSTEMX86 folder.

Alexandre Julliard julliard at winehq.org
Tue Jul 7 08:08:19 CDT 2009


Module: wine
Branch: master
Commit: 43e90c8ff74b89c45351f2efe43f3793f8a84098
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=43e90c8ff74b89c45351f2efe43f3793f8a84098

Author: Alexandre Julliard <julliard at 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;




More information about the wine-cvs mailing list