diff options
Diffstat (limited to 'gsettings/dconfsettingsbackend.c')
-rw-r--r-- | gsettings/dconfsettingsbackend.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/gsettings/dconfsettingsbackend.c b/gsettings/dconfsettingsbackend.c index 0e96f5e..752e013 100644 --- a/gsettings/dconfsettingsbackend.c +++ b/gsettings/dconfsettingsbackend.c @@ -44,23 +44,10 @@ dconf_settings_backend_read (GSettingsBackend *backend, gboolean default_value) { DConfSettingsBackend *dcsb = (DConfSettingsBackend *) backend; - GVariant *value; - if (default_value) - { - GQueue *read_through; - - /* Mark the key as having been reset when trying to do the read... */ - read_through = g_queue_new (); - g_queue_push_tail (read_through, dconf_changeset_new_write (key, NULL)); - value = dconf_engine_read (dcsb->engine, DCONF_READ_FLAGS_NONE, read_through, key); - g_queue_free_full (read_through, (GDestroyNotify) dconf_changeset_unref); - } - - else - value = dconf_engine_read (dcsb->engine, DCONF_READ_FLAGS_NONE, NULL, key); - - return value; + return dconf_engine_read (dcsb->engine, + default_value ? DCONF_READ_DEFAULT_VALUE : 0, + NULL, key); } static GVariant * |