Fix the CSIDL_COMMON_* paths
Francois Gouget
fgouget at codeweavers.com
Tue Sep 21 10:03:26 CDT 2004
CSIDL_COMMON_PROGRAMS was pointing to 'c:\Windows' which is clearly
wrong and caused winemenubuilder to complain the menu entries where
neither in 'Start Menu' nor in the desktop directory.
Another inconsistency is that CSIDL_COMMON_STARTMENU was using the same
value as for CSIDL_STARTMENU, i.e. 'c:\Windows\Start Menu' while
CSIDL_COMMON_STARTUP pointed to 'c:\Windows\All Users\StartUp' (which is
not in the 'Start Menu' directory) while CSIDL_STARTUP pointed to
'c:\Windows\Start Menu\Programs\StartUp'. So we should decide whether to
use 'All Users' (NT-like) or not (9x-like). I opted for using the NT
location on the basis that it at least records the difference between
CSIDL_* and CSIDL_COMMON_* should it become important later on.
I also have a patch that updates winemenubuilder to correctly deal with
both sets of locations.
Changelog:
* dlls/shell32/shellpath.c
Francois Gouget <fgouget at codeweavers.com>
Fix CSIDL_COMMON_{STARTMENU,PROGRAMS,DESKTOPDIRECTORY} so they all
use paths in 'All Users' like CSIDL_COMMON_STARTUP.
The CSIDL_COMMON_PROGRAMS fix solves many menu creation problems.
--
Francois Gouget
fgouget at codeweavers.com
-------------- next part --------------
Index: dlls/shell32/shellpath.c
===================================================================
RCS file: /var/cvs/wine/dlls/shell32/shellpath.c,v
retrieving revision 1.87
diff -u -r1.87 shellpath.c
--- dlls/shell32/shellpath.c 20 Aug 2004 19:57:50 -0000 1.87
+++ dlls/shell32/shellpath.c 21 Sep 2004 14:11:33 -0000
@@ -705,6 +705,8 @@
static const WCHAR Administrative_ToolsW[] = {'A','d','m','i','n','i','s','t','r','a','t','i','v','e',' ','T','o','o','l','s','\0'};
static const WCHAR All_Users__Application_DataW[] = {'A','l','l',' ','U','s','e','r','s','\\',
'A','p','p','l','i','c','a','t','i','o','n',' ','D','a','t','a','\0'};
+static const WCHAR All_Users__DesktopW[] = {'A','l','l',' ','U','s','e','r','s','\\',
+ 'D','e','s','k','t','o','p','\0'};
static const WCHAR All_Users__DocumentsW[] = {'A','l','l',' ','U','s','e','r','s','\\',
'D','o','c','u','m','e','n','t','s','\0'};
static const WCHAR All_Users__Documents__My_MusicW[] = {'A','l','l',' ','U','s','e','r','s','\\',
@@ -716,6 +718,8 @@
static const WCHAR All_Users__Documents__My_VideoW[] = {'A','l','l',' ','U','s','e','r','s','\\',
'D','o','c','u','m','e','n','t','s','\\',
'M','y',' ','V','i','d','e','o','\0'};
+static const WCHAR All_Users__Start_MenuW[] = {'A','l','l',' ','U','s','e','r','s','\\','S','t','a','r','t',' ','M','e','n','u','\0'};
+static const WCHAR All_Users__Start_Menu__ProgramsW[] = {'A','l','l',' ','U','s','e','r','s','\\','S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\0'};
static const WCHAR All_Users__Start_Menu__Programs__Administrative_ToolsW[] = {'A','l','l',' ','U','s','e','r','s','\\',
'S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\\',
'A','d','m','i','n','i','s','t','r','a','t','i','v','e',' ','T','o','o','l','s','\0'};
@@ -952,13 +956,13 @@
CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
HKLM,
Common_Start_MenuW,
- Start_MenuW
+ All_Users__Start_MenuW
},
{ /* CSIDL_COMMON_PROGRAMS */
CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
HKLM,
Common_ProgramsW,
- Empty_StringW
+ All_Users__Start_Menu__ProgramsW
},
{ /* CSIDL_COMMON_STARTUP */
CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
@@ -970,7 +974,7 @@
CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
HKLM,
Common_DesktopW,
- DesktopW
+ All_Users__DesktopW
},
{ /* CSIDL_APPDATA */
CSIDL_MYFLAG_SHFOLDER | CSIDL_MYFLAG_RELATIVE,
More information about the wine-patches
mailing list