Alexandre Julliard : shell32: Disable the Unix folder for the Windows build .

Alexandre Julliard julliard at winehq.org
Wed Dec 10 07:41:27 CST 2008


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Dec  9 17:10:10 2008 +0100

shell32: Disable the Unix folder for the Windows build.

---

 dlls/shell32/shell32_main.h  |    1 -
 dlls/shell32/shfldr_unixfs.c |   83 ++++++++++++++++++++++++++----------------
 2 files changed, 52 insertions(+), 32 deletions(-)

diff --git a/dlls/shell32/shell32_main.h b/dlls/shell32/shell32_main.h
index 1ad4d6e..920625f 100644
--- a/dlls/shell32/shell32_main.h
+++ b/dlls/shell32/shell32_main.h
@@ -99,7 +99,6 @@ HRESULT WINAPI UnixDosFolder_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVO
 HRESULT WINAPI FolderShortcut_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID *ppv);
 HRESULT WINAPI MyDocuments_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID *ppv);
 HRESULT WINAPI RecycleBin_Constructor(IUnknown * pUnkOuter, REFIID riif, LPVOID *ppv);
-HRESULT WINAPI ShellFSFolder_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID *ppv);
 extern HRESULT CPanel_GetIconLocationW(LPCITEMIDLIST, LPWSTR, UINT, int*);
 HRESULT WINAPI CPanel_ExtractIconA(LPITEMIDLIST pidl, LPCSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize);
 HRESULT WINAPI CPanel_ExtractIconW(LPITEMIDLIST pidl, LPCWSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize);
diff --git a/dlls/shell32/shfldr_unixfs.c b/dlls/shell32/shfldr_unixfs.c
index 582a980..a560397 100644
--- a/dlls/shell32/shfldr_unixfs.c
+++ b/dlls/shell32/shfldr_unixfs.c
@@ -166,6 +166,8 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(shell);
 
+#if !defined(__MINGW32__) && !defined(_MSC_VER)
+
 #define ADJUST_THIS(c,m,p) ((c*)(((long)p)-(long)&(((c*)0)->lp##m##Vtbl)))
 #define STATIC_CAST(i,p) ((i*)&p->lp##i##Vtbl)
 
@@ -202,32 +204,6 @@ typedef struct _UnixFolder {
 static UINT cfShellIDList = 0;
 
 /******************************************************************************
- * UNIXFS_is_rooted_at_desktop [Internal]
- *
- * Checks if the unixfs namespace extension is rooted at desktop level.
- *
- * RETURNS
- *  TRUE, if unixfs is rooted at desktop level
- *  FALSE, if not.
- */
-BOOL UNIXFS_is_rooted_at_desktop(void) {
-    HKEY hKey;
-    WCHAR wszRootedAtDesktop[69 + CHARS_IN_GUID] = { 
-        'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
-        'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
-        'E','x','p','l','o','r','e','r','\\','D','e','s','k','t','o','p','\\',
-        'N','a','m','e','S','p','a','c','e','\\',0 }; 
-
-    if (StringFromGUID2(&CLSID_UnixDosFolder, wszRootedAtDesktop + 69, CHARS_IN_GUID) &&
-        RegOpenKeyExW(HKEY_LOCAL_MACHINE, wszRootedAtDesktop, 0, KEY_READ, &hKey) == ERROR_SUCCESS) 
-    {
-        RegCloseKey(hKey);
-        return TRUE;
-    }
-    return FALSE;
-}
-
-/******************************************************************************
  * UNIXFS_filename_from_shitemid [Internal]
  *
  *  Get CP_UNIXCP encoded filename corresponding to the first item of a pidl
@@ -2224,11 +2200,6 @@ HRESULT WINAPI MyDocuments_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID
     return CreateUnixFolder(pUnkOuter, riid, ppv, &CLSID_MyDocuments);
 }
 
-HRESULT WINAPI ShellFSFolder_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv) {
-    TRACE("(pUnkOuter=%p, riid=%p, ppv=%p)\n", pUnkOuter, riid, ppv);
-    return CreateUnixFolder(pUnkOuter, riid, ppv, &CLSID_ShellFSFolder);
-}
-
 /******************************************************************************
  * UnixSubFolderIterator
  *
@@ -2402,3 +2373,53 @@ static IUnknown *UnixSubFolderIterator_Constructor(UnixFolder *pUnixFolder, SHCO
     
     return (IUnknown*)iterator;
 }
+
+#else /* __MINGW32__ || _MSC_VER */
+
+HRESULT WINAPI UnixFolder_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
+{
+    return E_NOTIMPL;
+}
+
+HRESULT WINAPI UnixDosFolder_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
+{
+    return E_NOTIMPL;
+}
+
+HRESULT WINAPI FolderShortcut_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
+{
+    return E_NOTIMPL;
+}
+
+HRESULT WINAPI MyDocuments_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
+{
+    return E_NOTIMPL;
+}
+
+#endif /* __MINGW32__ || _MSC_VER */
+
+/******************************************************************************
+ * UNIXFS_is_rooted_at_desktop [Internal]
+ *
+ * Checks if the unixfs namespace extension is rooted at desktop level.
+ *
+ * RETURNS
+ *  TRUE, if unixfs is rooted at desktop level
+ *  FALSE, if not.
+ */
+BOOL UNIXFS_is_rooted_at_desktop(void) {
+    HKEY hKey;
+    WCHAR wszRootedAtDesktop[69 + CHARS_IN_GUID] = {
+        'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
+        'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
+        'E','x','p','l','o','r','e','r','\\','D','e','s','k','t','o','p','\\',
+        'N','a','m','e','S','p','a','c','e','\\',0 };
+
+    if (StringFromGUID2(&CLSID_UnixDosFolder, wszRootedAtDesktop + 69, CHARS_IN_GUID) &&
+        RegOpenKeyExW(HKEY_LOCAL_MACHINE, wszRootedAtDesktop, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
+    {
+        RegCloseKey(hKey);
+        return TRUE;
+    }
+    return FALSE;
+}




More information about the wine-cvs mailing list