diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | gtk/gtkmain.c | 4 | ||||
-rw-r--r-- | gtk/gtkmodules.c | 12 |
3 files changed, 21 insertions, 5 deletions
@@ -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 |