From 4f7f15a07beb0a1e0a5eea6e02c6ce0f0ff9aec7 Mon Sep 17 00:00:00 2001 From: rezso Date: Tue, 26 Mar 2013 10:34:24 +0100 Subject: check schema installation before using it --- src/terminal-screen.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/terminal-screen.c b/src/terminal-screen.c index b71bdb4..049add3 100644 --- a/src/terminal-screen.c +++ b/src/terminal-screen.c @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -1360,6 +1361,8 @@ get_child_environment (TerminalScreen *screen, GHashTableIter iter; GPtrArray *retval; guint i; + const char * const *list_schemas; + gboolean schema_exists; window = gtk_widget_get_toplevel (term); g_assert (window != NULL); @@ -1400,7 +1403,18 @@ get_child_environment (TerminalScreen *screen, g_hash_table_replace (env_table, g_strdup ("DISPLAY"), g_strdup (gdk_display_get_name (gtk_widget_get_display (window)))); #endif - terminal_util_add_proxy_env (env_table); + list_schemas = g_settings_list_schemas(); + schema_exists = FALSE; + for (i = 0; list_schemas[i] != NULL; i++) { + if (g_strcmp0 (list_schemas[i], "org.gnome.system.proxy") == 0) + { + schema_exists = TRUE; + break; + } + } + if (schema_exists == TRUE) { + terminal_util_add_proxy_env (env_table); + } retval = g_ptr_array_sized_new (g_hash_table_size (env_table)); g_hash_table_iter_init (&iter, env_table); -- cgit v1.2.1