summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--gtk/gtkmain.c4
-rw-r--r--gtk/gtkmodules.c12
3 files changed, 21 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 3e6fb8a6a2..b3ad4e4ee3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-09-13 Cosimo Cecchi <cosimoc@gnome.org>
+
+ Bug 552153 – GtkModules loading with XSettings doesn't work if the
+ GTK_MODULES env var isn't set.
+
+ * gtk/gtkmain.c: (do_post_parse_initialization):
+ * gtk/gtkmodules.c: (_gtk_modules_init):
+ 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
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 52538a1db3..cb2929eb82 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -699,6 +699,10 @@ do_post_parse_initialization (int *argc,
_gtk_modules_init (argc, argv, gtk_modules_string->str);
g_string_free (gtk_modules_string, TRUE);
}
+ else
+ {
+ _gtk_modules_init (argc, argv, NULL);
+ }
}
diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c
index 0cac9634f4..764013f97e 100644
--- a/gtk/gtkmodules.c
+++ b/gtk/gtkmodules.c
@@ -511,11 +511,13 @@ _gtk_modules_init (gint *argc,
G_CALLBACK (display_opened_cb),
NULL);
- /* Modules specified in the GTK_MODULES environment variable
- * or on the command line are always loaded, so we'll just leak
- * the refcounts.
- */
- g_slist_free (load_modules (gtk_modules_args));
+ if (gtk_modules_args) {
+ /* Modules specified in the GTK_MODULES environment variable
+ * or on the command line are always loaded, so we'll just leak
+ * the refcounts.
+ */
+ g_slist_free (load_modules (gtk_modules_args));
+ }
}
static void