mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-09 19:06:15 +01:00
GSettingsBackend: emit changes to correct thread
When g_settings_apply() is called on a delayed settings backend and there is a D-Bus error when communicating with dconf-service, recent versions of the dconf GSettingsBackend call a function in GLib that improperly delivered the signal directly instead of using g_main_context_invoke(). This patch fixes this function to route in the same way as the others so that the signal is dispatched in the proper GMainContext.
This commit is contained in:
parent
8060a7a207
commit
27fbaf3712
@ -676,7 +676,6 @@ g_settings_backend_changed_tree (GSettingsBackend *backend,
|
||||
GTree *tree,
|
||||
gpointer origin_tag)
|
||||
{
|
||||
GSettingsBackendWatch *watch;
|
||||
const gchar **keys;
|
||||
gchar *path;
|
||||
|
||||
@ -696,10 +695,7 @@ g_settings_backend_changed_tree (GSettingsBackend *backend,
|
||||
}
|
||||
#endif
|
||||
|
||||
for (watch = backend->priv->watches; watch; watch = watch->next)
|
||||
watch->vtable->keys_changed (watch->target, backend,
|
||||
path, keys, origin_tag);
|
||||
|
||||
g_settings_backend_keys_changed (backend, path, keys, origin_tag);
|
||||
g_free (path);
|
||||
g_free (keys);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user