diff options
author | Jan Djärv <jan.h.d@swipnet.se> | 2014-05-10 12:42:08 +0200 |
---|---|---|
committer | Jan Djärv <jan.h.d@swipnet.se> | 2014-05-10 12:42:08 +0200 |
commit | 4a5c71d7c275b93238c629601526a87eca08e6fd (patch) | |
tree | 7e71f82e892f87e129a2d9be941b9fd0d5eac8f7 | |
parent | 3ebdceafc175e59582caf787696dca2f11a0e495 (diff) |
* xsettings.c (init_gsettings): Use g_settings_schema_source_lookup
instead of deprecated g_settings_list_schemas if possible.
Fixes: debbugs:17434
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/xsettings.c | 22 |
2 files changed, 22 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 3d58769c92..9c5f2e9058 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2014-05-10 Jan Djärv <jan.h.d@swipnet.se> + + * xsettings.c (init_gsettings): Use g_settings_schema_source_lookup + instead of deprecated g_settings_list_schemas if possible (Bug#17434). + 2014-05-07 Paul Eggert <eggert@cs.ucla.edu> * minibuf.c (read_minibuf): Avoid C99ism in previous patch (Bug#17430). diff --git a/src/xsettings.c b/src/xsettings.c index 844da19f63..5f4275df54 100644 --- a/src/xsettings.c +++ b/src/xsettings.c @@ -795,17 +795,29 @@ init_gsettings (void) { #ifdef HAVE_GSETTINGS GVariant *val; - const gchar *const *schemas; int schema_found = 0; #if ! GLIB_CHECK_VERSION (2, 36, 0) g_type_init (); #endif - schemas = g_settings_list_schemas (); - if (schemas == NULL) return; - while (! schema_found && *schemas != NULL) - schema_found = strcmp (*schemas++, GSETTINGS_SCHEMA) == 0; +#if GLIB_CHECK_VERSION (2, 32, 0) + { + GSettingsSchema *sc = g_settings_schema_source_lookup + (g_settings_schema_source_get_default (), + GSETTINGS_SCHEMA, + TRUE); + schema_found = sc != NULL; + if (sc) g_settings_schema_unref (sc); + } +#else + { + const gchar *const *schemas = g_settings_list_schemas (); + if (schemas == NULL) return; + while (! schema_found && *schemas != NULL) + schema_found = strcmp (*schemas++, GSETTINGS_SCHEMA) == 0; + } +#endif if (!schema_found) return; gsettings_client = g_settings_new (GSETTINGS_SCHEMA); |