summaryrefslogtreecommitdiff
path: root/gsettings/dconfsettingsbackend.c
diff options
context:
space:
mode:
Diffstat (limited to 'gsettings/dconfsettingsbackend.c')
-rw-r--r--gsettings/dconfsettingsbackend.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gsettings/dconfsettingsbackend.c b/gsettings/dconfsettingsbackend.c
index c8273f9..53f701e 100644
--- a/gsettings/dconfsettingsbackend.c
+++ b/gsettings/dconfsettingsbackend.c
@@ -101,9 +101,11 @@ dconf_settings_backend_write_tree (GSettingsBackend *backend,
DConfChangeset *change;
gboolean success;
- change= dconf_changeset_new ();
- g_tree_foreach (tree, dconf_settings_backend_add_to_changeset, change);
+ if (g_tree_nnodes (tree) == 0)
+ return TRUE;
+ change = dconf_changeset_new ();
+ g_tree_foreach (tree, dconf_settings_backend_add_to_changeset, change);
success = dconf_engine_change_fast (dcsb->engine, change, origin_tag, NULL);
dconf_changeset_unref (change);