diff options
author | Monsta <[email protected]> | 2015-02-18 18:08:00 +0300 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2015-02-25 23:34:23 +0100 |
commit | 46f3411f843b502b07d616cd81d72c172507bfaf (patch) | |
tree | aaf72695fd3bbfa6789ec754a0e9a8fa36f1f589 | |
parent | 03c04e009fa73e43763b7e9f91031a2d3c1f5407 (diff) | |
download | mate-settings-daemon-46f3411f843b502b07d616cd81d72c172507bfaf.tar.bz2 mate-settings-daemon-46f3411f843b502b07d616cd81d72c172507bfaf.tar.xz |
xsettings plugin: first connect to settings, then read them.
fixes the issue with GLib >= 2.43,
https://git.gnome.org/browse/glib/commit/?id=8ff5668a458344da22d30491e3ce726d861b3619
Closes https://github.com/mate-desktop/mate-settings-daemon/pull/95
-rw-r--r-- | plugins/xsettings/msd-xsettings-manager.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/plugins/xsettings/msd-xsettings-manager.c b/plugins/xsettings/msd-xsettings-manager.c index 61f5999..6c635c4 100644 --- a/plugins/xsettings/msd-xsettings-manager.c +++ b/plugins/xsettings/msd-xsettings-manager.c @@ -683,6 +683,13 @@ mate_xsettings_manager_start (MateXSettingsManager *manager, g_hash_table_insert (manager->priv->gsettings, SOUND_SCHEMA, g_settings_new (SOUND_SCHEMA)); + list = g_hash_table_get_values (manager->priv->gsettings); + for (l = list; l != NULL; l = l->next) { + g_signal_connect_object (G_OBJECT (l->data), "changed", + G_CALLBACK (xsettings_callback), manager, 0); + } + g_list_free (list); + for (i = 0; i < G_N_ELEMENTS (translations); i++) { GVariant *val; GSettings *gsettings; @@ -701,13 +708,6 @@ mate_xsettings_manager_start (MateXSettingsManager *manager, g_variant_unref (val); } - list = g_hash_table_get_values (manager->priv->gsettings); - for (l = list; l != NULL; l = l->next) { - g_signal_connect_object (G_OBJECT (l->data), "changed", - G_CALLBACK (xsettings_callback), manager, 0); - } - g_list_free (list); - manager->priv->gsettings_font = g_settings_new (FONT_RENDER_SCHEMA); g_signal_connect (manager->priv->gsettings_font, "changed", G_CALLBACK (xft_callback), manager); update_xft_settings (manager, manager->priv->gsettings_font); |