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