diff options
author | Tor Lillqvist <tml@novell.com> | 2008-09-13 19:31:29 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2008-09-13 19:31:29 +0000 |
commit | 4125df1d8ec75641728902c135a0499197d5f6c6 (patch) | |
tree | 272f135d088c0a41371fcf19d0aab2991a12b6b4 | |
parent | 42ec45e3c2dc352b8e5d96ffdae9b81e779f80e5 (diff) | |
download | gdk-pixbuf-4125df1d8ec75641728902c135a0499197d5f6c6.tar.gz |
gdk-pixbuf/gdk-pixbuf-io.c Don't use the deprectated
2008-09-13 Tor Lillqvist <tml@novell.com>
* gdk-pixbuf/gdk-pixbuf-io.c
* gtk/gtkmain.c: Don't use the deprectated
g_win32_get_package_installation_directory() and
g_win32_get_package_installation_subdirectory() functions. Use
g_win32_get_package_installation_directory_of_module()
instead. Also, don't use the deprecated silly
G_WIN32_DLLMAIN_FOR_DLL_NAME macro, but an explicit minimal
DllMain() that just saves the DLL handle.
svn path=/trunk/; revision=21381
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | gdk-pixbuf/ChangeLog | 9 | ||||
-rw-r--r-- | gdk-pixbuf/gdk-pixbuf-io.c | 25 | ||||
-rw-r--r-- | gtk/gtkmain.c | 48 |
4 files changed, 71 insertions, 27 deletions
@@ -1,3 +1,13 @@ +2008-09-13 Tor Lillqvist <tml@novell.com> + + * gtk/gtkmain.c: Don't use the deprectated + g_win32_get_package_installation_directory() and + g_win32_get_package_installation_subdirectory() functions. Use + g_win32_get_package_installation_directory_of_module() + instead. Also, don't use the deprecated silly + G_WIN32_DLLMAIN_FOR_DLL_NAME() macro, but an explicit minimal + DllMain() that just saves the DLL handle. + 2008-09-13 Cosimo Cecchi <cosimoc@gnome.org> Bug 552153 – GtkModules loading with XSettings doesn't work if the @@ -8,12 +18,6 @@ Call _gtk_modules_init () even if gtk_modules_string is NULL, so that GtkModules specified with XSettings could be loaded. -2008-09-13 Tor Lillqvist <tml@novell.com> - - * gtk/gtkmain.c: Do as the docs for - g_win32_get_package_installation_directory() say and pass NULL as - the first parameter. - 2008-09-11 Cosimo Cecchi <cosimoc@gnome.org> Bug 536542 – gtk_list_store_set() documentation doesn't say whether diff --git a/gdk-pixbuf/ChangeLog b/gdk-pixbuf/ChangeLog index 841ff5e62..946f9004a 100644 --- a/gdk-pixbuf/ChangeLog +++ b/gdk-pixbuf/ChangeLog @@ -1,8 +1,11 @@ 2008-09-13 Tor Lillqvist <tml@novell.com> - * gdk-pixbuf-io.c: Do as the docs for - g_win32_get_package_installation_directory() say and pass NULL as - the first parameter. + * gdk-pixbuf-io.c: Don't use the deprectated + g_win32_get_package_installation_subdirectory(). Use + g_win32_get_package_installation_directory_of_module() + instead. Also, don't use the deprecated silly + G_WIN32_DLLMAIN_FOR_DLL_NAME() macro, but an explicit minimal + DllMain() that just saves the DLL handle. 2008-09-07 Matthias Clasen <mclasen@redhat.com> diff --git a/gdk-pixbuf/gdk-pixbuf-io.c b/gdk-pixbuf/gdk-pixbuf-io.c index 967febbbd..d6ddce76a 100644 --- a/gdk-pixbuf/gdk-pixbuf-io.c +++ b/gdk-pixbuf/gdk-pixbuf-io.c @@ -228,8 +228,23 @@ skip_space (const char **pos) #ifdef G_OS_WIN32 -/* DllMain function needed to tuck away the gdk-pixbuf DLL name */ -G_WIN32_DLLMAIN_FOR_DLL_NAME (static, dll_name) +/* DllMain function needed to tuck away the gdk-pixbuf DLL handle */ + +static HMODULE gdk_pixbuf_dll; + +BOOL WINAPI +DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved) +{ + switch (fdwReason) { + case DLL_PROCESS_ATTACH: + gdk_pixbuf_dll = (HMODULE) hinstDLL; + break; + } + + return TRUE; +} static char * get_toplevel (void) @@ -237,8 +252,7 @@ get_toplevel (void) static char *toplevel = NULL; if (toplevel == NULL) - toplevel = g_win32_get_package_installation_subdirectory - (NULL, dll_name, ""); + toplevel = g_win32_get_package_installation_directory_of_module (gdk_pixbuf_dll); return toplevel; } @@ -249,8 +263,7 @@ get_sysconfdir (void) static char *sysconfdir = NULL; if (sysconfdir == NULL) - sysconfdir = g_win32_get_package_installation_subdirectory - (NULL, dll_name, "etc"); + sysconfdir = g_build_filename (get_toplevel (), "etc", NULL); return sysconfdir; } diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index cb2929eb8..58373a368 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -68,7 +68,22 @@ #ifdef G_OS_WIN32 -G_WIN32_DLLMAIN_FOR_DLL_NAME(static, dll_name) +static HMODULE gtk_dll; + +BOOL WINAPI +DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved) +{ + switch (fdwReason) + { + case DLL_PROCESS_ATTACH: + gtk_dll = (HMODULE) hinstDLL; + break; + } + + return TRUE; +} /* This here before inclusion of gtkprivate.h so that it sees the * original GTK_LOCALEDIR definition. Yeah, this is a bit sucky. @@ -80,7 +95,7 @@ _gtk_get_localedir (void) if (gtk_localedir == NULL) { const gchar *p; - gchar *temp; + gchar *root, *temp; /* GTK_LOCALEDIR ends in either /lib/locale or * /share/locale. Scan for that slash. @@ -91,8 +106,9 @@ _gtk_get_localedir (void) while (*--p != '/') ; - temp = g_win32_get_package_installation_subdirectory - (NULL, dll_name, p); + root = g_win32_get_package_installation_directory_of_module (gtk_dll); + temp = g_build_filename (root, p, NULL); + g_free (root); /* gtk_localedir is passed to bindtextdomain() which isn't * UTF-8-aware. @@ -307,8 +323,11 @@ _gtk_get_datadir (void) { static char *gtk_datadir = NULL; if (gtk_datadir == NULL) - gtk_datadir = g_win32_get_package_installation_subdirectory - (NULL, dll_name, "share"); + { + gchar *root = g_win32_get_package_installation_directory_of_module (gtk_dll); + gtk_datadir = g_build_filename (root, "share", NULL); + g_free (root); + } return gtk_datadir; } @@ -318,8 +337,11 @@ _gtk_get_libdir (void) { static char *gtk_libdir = NULL; if (gtk_libdir == NULL) - gtk_libdir = g_win32_get_package_installation_subdirectory - (NULL, dll_name, "lib"); + { + gchar *root = g_win32_get_package_installation_directory_of_module (gtk_dll); + gtk_libdir = g_build_filename (root, "lib", NULL); + g_free (root); + } return gtk_libdir; } @@ -329,8 +351,11 @@ _gtk_get_sysconfdir (void) { static char *gtk_sysconfdir = NULL; if (gtk_sysconfdir == NULL) - gtk_sysconfdir = g_win32_get_package_installation_subdirectory - (NULL, dll_name, "etc"); + { + gchar *root = g_win32_get_package_installation_directory_of_module (gtk_dll); + gtk_sysconfdir = g_build_filename (root, "etc", NULL); + g_free (root); + } return gtk_sysconfdir; } @@ -340,8 +365,7 @@ _gtk_get_data_prefix (void) { static char *gtk_data_prefix = NULL; if (gtk_data_prefix == NULL) - gtk_data_prefix = g_win32_get_package_installation_directory - (NULL, dll_name); + gtk_data_prefix = g_win32_get_package_installation_directory_of_module (gtk_dll); return gtk_data_prefix; } |