summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdk-pixbuf/queryloaders.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
index 0fb40fd36..085ef7c8c 100644
--- a/gdk-pixbuf/queryloaders.c
+++ b/gdk-pixbuf/queryloaders.c
@@ -338,17 +338,19 @@ int main (int argc, char **argv)
if (argc == first_file) {
#ifdef USE_GMODULE
- const char *moduledir;
+ char *moduledir;
GDir *dir;
GList *l, *modules;
- moduledir = g_getenv ("GDK_PIXBUF_MODULEDIR");
+ moduledir = g_strdup (g_getenv ("GDK_PIXBUF_MODULEDIR"));
#ifdef G_OS_WIN32
if (moduledir != NULL && *moduledir != '\0')
moduledir = g_locale_to_utf8 (moduledir, -1, NULL, NULL, NULL);
#endif
- if (moduledir == NULL || *moduledir == '\0')
- moduledir = PIXBUF_LIBDIR;
+ if (moduledir == NULL || *moduledir == '\0') {
+ g_free (moduledir);
+ moduledir = g_strdup (PIXBUF_LIBDIR);
+ }
g_string_append_printf (contents, "# LoaderDir = %s\n#\n", moduledir);
@@ -371,6 +373,7 @@ int main (int argc, char **argv)
for (l = modules; l != NULL; l = l->next)
query_module (contents, moduledir, l->data);
g_list_free_full (modules, g_free);
+ g_free (moduledir);
#else
g_string_append_printf (contents, "# dynamic loading of modules not supported\n");
#endif