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); + } } /*************************************************************************