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