summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid King <amigadave@amigadave.com>2017-01-03 13:48:06 +0000
committerDavid King <amigadave@amigadave.com>2017-01-03 13:48:06 +0000
commitffa8dc8adbb9237ce465adc6898aa660578dbccd (patch)
treec136cbb6efb33b372c63d17a7246d281d0506e2f
parenta6f9f85df22513128d73aa606edfc951ab224bad (diff)
downloadlibproxy-git-ffa8dc8adbb9237ce465adc6898aa660578dbccd.tar.gz
pxgsettings: Avoid key listing deprecation
g_settings_list_keys() is deprecated, and g_settings_schema_list_keys() should be used instead as of GLib 2.46.
-rw-r--r--libproxy/modules/pxgsettings.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/libproxy/modules/pxgsettings.cpp b/libproxy/modules/pxgsettings.cpp
index 769addb..9ed4333 100644
--- a/libproxy/modules/pxgsettings.cpp
+++ b/libproxy/modules/pxgsettings.cpp
@@ -150,7 +150,14 @@ int main(int argc, char **argv) {
for (int i=1; i<argc; i++) {
settings = g_settings_new(argv[i]);
+#if GLIB_CHECK_VERSION(2,46,0)
+ GSettingsSchema *schema;
+ g_object_get (settings, "settings-schema", &schema, NULL);
+ gchar** keys = g_settings_schema_list_keys(schema);
+ g_settings_schema_unref(schema);
+#else
gchar** keys = g_settings_list_keys(settings);
+#endif
g_signal_connect(settings, "changed::", G_CALLBACK (on_value_change), argv[i]);
for (int j=0; keys[j]; on_value_change(settings, keys[j++],argv[i] ));
g_strfreev(keys);