mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-11 23:16:14 +01:00
gsettings: Add missing changed() call to delayed settings backend
When resetting a key in the delayed settings backend, g_settings_backend_changed() was not called to notify the backend of the change. Signed-off-by: Philip Withnall <withnall@endlessm.com> Fixes: #1309
This commit is contained in:
parent
5558c668a9
commit
63abca2963
@ -204,6 +204,8 @@ g_delayed_settings_backend_reset (GSettingsBackend *backend,
|
||||
g_tree_insert (delayed->priv->delayed, g_strdup (key), NULL);
|
||||
g_mutex_unlock (&delayed->priv->lock);
|
||||
|
||||
g_settings_backend_changed (backend, key, origin_tag);
|
||||
|
||||
if (was_empty)
|
||||
g_delayed_settings_backend_notify_unapplied (delayed);
|
||||
}
|
||||
|
@ -509,6 +509,24 @@ test_delay_apply (void)
|
||||
g_assert_true (changed_cb_called);
|
||||
g_assert_false (changed_cb_called2);
|
||||
|
||||
/* Try resetting the key and ensure a notification is emitted on the delayed #GSettings object. */
|
||||
changed_cb_called = FALSE;
|
||||
changed_cb_called2 = FALSE;
|
||||
|
||||
g_settings_reset (settings, "greeting");
|
||||
|
||||
g_assert_true (changed_cb_called);
|
||||
g_assert_false (changed_cb_called2);
|
||||
|
||||
/* Locally change the greeting again. */
|
||||
changed_cb_called = FALSE;
|
||||
changed_cb_called2 = FALSE;
|
||||
|
||||
g_settings_set (settings, "greeting", "s", "greetings from test_delay_apply");
|
||||
|
||||
g_assert_true (changed_cb_called);
|
||||
g_assert_false (changed_cb_called2);
|
||||
|
||||
writable = g_settings_is_writable (settings, "greeting");
|
||||
g_assert_true (writable);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user