winemenubuilder: Add support for the CSIDL_COMMON_* locations

Francois Gouget fgouget at codeweavers.com
Tue Sep 21 10:06:29 CDT 2004


Changelog:

  * programs/winemenubuilder/winemenubuilder.c

    Francois Gouget <fgouget at codeweavers.com>
    Add support for the CSIDL_COMMON_* locations.

-- 
Francois Gouget
fgouget at codeweavers.com

-------------- next part --------------
Index: programs/winemenubuilder/winemenubuilder.c
===================================================================
RCS file: /var/cvs/wine/programs/winemenubuilder/winemenubuilder.c,v
retrieving revision 1.17
diff -u -r1.17 winemenubuilder.c
--- programs/winemenubuilder/winemenubuilder.c	14 Sep 2004 00:43:19 -0000	1.17
+++ programs/winemenubuilder/winemenubuilder.c	21 Sep 2004 14:13:34 -0000
@@ -57,6 +57,11 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(menubuilder);
 
+#define in_desktop_dir(csidl) ((csidl)==CSIDL_DESKTOPDIRECTORY || \
+                               (csidl)==CSIDL_COMMON_DESKTOPDIRECTORY)
+#define in_startmenu(csidl)   ((csidl)==CSIDL_STARTMENU || \
+                               (csidl)==CSIDL_COMMON_STARTMENU)
+        
 /* link file formats */
 
 #include "pshpack1.h"
@@ -663,7 +668,9 @@
     WCHAR filename[MAX_PATH], buffer[MAX_PATH];
     DWORD len, i, r, filelen;
     const DWORD locations[] = {
-        CSIDL_STARTUP, CSIDL_DESKTOPDIRECTORY, CSIDL_STARTMENU };
+        CSIDL_STARTUP, CSIDL_DESKTOPDIRECTORY, CSIDL_STARTMENU,
+        CSIDL_COMMON_STARTUP, CSIDL_COMMON_DESKTOPDIRECTORY,
+        CSIDL_COMMON_STARTMENU };
 
     WINE_TRACE("%s\n", wine_dbgstr_w(linkfile));
     filelen=GetFullPathNameW( linkfile, MAX_PATH, filename, NULL );
@@ -717,7 +724,7 @@
         WINE_WARN("Unknown link location '%s'. Ignoring.\n",wine_dbgstr_w(link));
         return TRUE;
     }
-    if( (csidl != CSIDL_DESKTOPDIRECTORY) && (csidl != CSIDL_STARTMENU) )
+    if (!in_desktop_dir(csidl) && !in_startmenu(csidl))
     {
         WINE_WARN("Not under desktop or start menu. Ignoring.\n");
         return TRUE;
@@ -799,8 +806,8 @@
         escaped_args = escape(szArgs);
 
     r = fork_and_wait("wineshelllink", link_name, escaped_path,
-                  (csidl == CSIDL_DESKTOPDIRECTORY), escaped_args, icon_name,
-                   work_dir ? work_dir : "", szDescription );
+                      in_desktop_dir(csidl), escaped_args, icon_name,
+                      work_dir ? work_dir : "", szDescription );
 
     HeapFree( GetProcessHeap(), 0, icon_name );
     HeapFree( GetProcessHeap(), 0, work_dir );


More information about the wine-patches mailing list