From e0719dfd82a9045fea3981d9ea5bc34212b0384e Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sun, 13 May 2007 23:12:52 +0000 Subject: [PATCH] Undef DATADIR before including to avoid collision with DATADIR 2007-05-14 Tor Lillqvist * libgimpbase/gimpenv.c: Undef DATADIR before including to avoid collision with DATADIR enum in objidl.h. Define CSIDL_MYDOCUMENTS, CSIDL_MYMUSIC and CSIDL_MYVIDEO in case missing from shlobj.h. * libgimpbase/Makefile.am: Link with -lole32 on Win32 for CoTaskMemFree(). svn path=/trunk/; revision=22483 --- ChangeLog | 10 ++++++++++ libgimpbase/Makefile.am | 3 ++- libgimpbase/gimpenv.c | 23 ++++++++++++++++++----- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8a6c6244c1..562f85abd9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2007-05-14 Tor Lillqvist + + * libgimpbase/gimpenv.c: Undef DATADIR before including + to avoid collision with DATADIR enum in objidl.h. Define + CSIDL_MYDOCUMENTS, CSIDL_MYMUSIC and CSIDL_MYVIDEO in case missing + from shlobj.h. + + * libgimpbase/Makefile.am: Link with -lole32 on Win32 for + CoTaskMemFree(). + 2007-05-13 Sven Neumann * app/widgets/gimpfiledialog.c (gimp_file_dialog_new): add a diff --git a/libgimpbase/Makefile.am b/libgimpbase/Makefile.am index 1d0ad6e9fe..890886e3fa 100644 --- a/libgimpbase/Makefile.am +++ b/libgimpbase/Makefile.am @@ -5,6 +5,7 @@ no_undefined = -no-undefined endif if OS_WIN32 +ole32_lib = -lole32 gimpbase_def = gimpbase.def libgimpbase_export_symbols = -export-symbols gimpbase.def @@ -152,7 +153,7 @@ libgimpbase_2_0_la_LDFLAGS = \ libgimpbase_2_0_la_DEPENDENCIES = $(gimpbase_def) -libgimpbase_2_0_la_LIBADD = $(GLIB_LIBS) +libgimpbase_2_0_la_LIBADD = $(GLIB_LIBS) $(ole32_lib) install-data-local: install-ms-lib install-libtool-import-lib diff --git a/libgimpbase/gimpenv.c b/libgimpbase/gimpenv.c index 20795f7676..3bef5d3d7a 100644 --- a/libgimpbase/gimpenv.c +++ b/libgimpbase/gimpenv.c @@ -45,8 +45,8 @@ #ifdef G_OS_WIN32 #define STRICT -#define WIN32_LEAN_AND_MEAN /* without it DATADIR in objidl.h will collide */ -#include /* For GetModuleFileName */ +#define WIN32_LEAN_AND_MEAN +#include #include #ifndef S_IWUSR # define S_IWUSR _S_IWRITE @@ -65,9 +65,7 @@ #define getegid() 0 #endif -#ifdef G_OS_WIN32 -#include -#else +#ifndef G_OS_WIN32 #include "xdg-user-dir.h" #endif @@ -406,6 +404,21 @@ gimp_sysconf_directory (void) } #ifdef G_OS_WIN32 + +#undef DATADIR /* Collision otherwise */ + +#include + +#ifndef CSIDL_MYDOCUMENTS +#define CSIDL_MYDOCUMENTS 0x000C +#endif +#ifndef CSIDL_MYMUSIC +#define CSIDL_MYMUSIC 0x000D +#endif +#ifndef CSIDL_MYVIDEO +#define CSIDL_MYVIDEO 0x000E +#endif + static gchar * get_special_folder (int csidl) {