SHGetSetSettings has now the right signature and the expected behavior
when the user is asking to get the current settings.
diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
index 77b73bf..deed19b 100644
--- a/dlls/shell32/shell32.spec
+++ b/dlls/shell32/shell32.spec
@@ -59,7 +59,7 @@
65 stub InvalidateDriveType
66 stdcall IsNetDrive(long) IsNetDrive
67 stdcall Shell_MergeMenus (long long long long long long) Shell_MergeMenus
- 68 stdcall SHGetSetSettings(long long long) SHGetSetSettings
+ 68 stdcall SHGetSetSettings(ptr long long) SHGetSetSettings
69 stub SHGetNetResource
70 stdcall SHCreateDefClassObject(long long long long long)SHCreateDefClassObject
71 stdcall Shell_GetImageList(ptr ptr) Shell_GetImageList
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index 346cef1..f87ac56 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -174,9 +174,16 @@
/*************************************************************************
* SHGetSetSettings [SHELL32.68]
*/
-VOID WINAPI SHGetSetSettings(DWORD x, DWORD y, DWORD z)
+VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet)
{
- FIXME("0x%08lx 0x%08lx 0x%08lx\n", x, y, z);
+ if(bSet)
+ {
+ FIXME("%p 0x%08lx TRUE\n", lpss, dwMask);
+ }
+ else
+ {
+ SHGetSettings((LPSHELLFLAGSTATE)lpss,dwMask);
+ }
}
/*************************************************************************
diff --git a/include/shlobj.h b/include/shlobj.h
index 62f4054..b63241a 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -380,6 +380,43 @@
DWORD WINAPI SHGetMalloc(LPMALLOC *lpmal) ;
/**********************************************************************
+ * SHGetSetSettings ()
+ */
+
+typedef struct
+{
+ BOOL fShowAllObjects : 1;
+ BOOL fShowExtensions : 1;
+ BOOL fNoConfirmRecycle : 1;
+
+ BOOL fShowSysFiles : 1;
+ BOOL fShowCompColor : 1;
+ BOOL fDoubleClickInWebView : 1;
+ BOOL fDesktopHTML : 1;
+ BOOL fWin95Classic : 1;
+ BOOL fDontPrettyPath : 1;
+ BOOL fShowAttribCol : 1;
+ BOOL fMapNetDrvBtn : 1;
+ BOOL fShowInfoTip : 1;
+ BOOL fHideIcons : 1;
+ BOOL fWebView : 1;
+ BOOL fFilter : 1;
+ BOOL fShowSuperHidden : 1;
+ BOOL fNoNetCrawling : 1;
+
+ DWORD dwWin95Unused;
+ UINT uWin95Unused;
+ LONG lParamSort;
+ int iSortDirection;
+ UINT version;
+ UINT uNotUsed;
+ BOOL fSepProcess: 1;
+ BOOL fStartPanelOn: 1;
+ BOOL fShowStartPage: 1;
+ UINT fSpareFlags : 13;
+} SHELLSTATE, *LPSHELLSTATE;
+
+/**********************************************************************
* SHGetSettings ()
*/
typedef struct