SHGetSetSettings

Alberto Massari alby at exln.com
Tue Dec 3 11:44:05 CST 2002


Changelog:
  - SHGetSetSettings has now the right signature (as documented in the Platform SDK - August 2002), and the expected behavior when the user is asking to get the current settings

Alberto


Index: include/shlobj.h
===================================================================
RCS file: /home/wine/wine/include/shlobj.h,v
retrieving revision 1.52
diff -u -r1.52 shlobj.h
--- include/shlobj.h	12 Nov 2002 01:05:00 -0000	1.52
+++ include/shlobj.h	3 Dec 2002 17:38:28 -0000
@@ -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
Index: dlls/shell32/shell32.spec
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shell32.spec,v
retrieving revision 1.58
diff -u -r1.58 shell32.spec
--- dlls/shell32/shell32.spec	30 Nov 2002 02:22:24 -0000	1.58
+++ dlls/shell32/shell32.spec	3 Dec 2002 17:38:28 -0000
@@ -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
Index: dlls/shell32/shellord.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shellord.c,v
retrieving revision 1.105
diff -u -r1.105 shellord.c
--- dlls/shell32/shellord.c	21 Nov 2002 23:56:42 -0000	1.105
+++ dlls/shell32/shellord.c	3 Dec 2002 17:38:29 -0000
@@ -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);
+  }
 }
 
 /*************************************************************************





More information about the wine-patches mailing list