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