diff options
| -rw-r--r-- | plugins/xsettings/msd-xsettings-manager.c | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/plugins/xsettings/msd-xsettings-manager.c b/plugins/xsettings/msd-xsettings-manager.c index e045711..f8291f4 100644 --- a/plugins/xsettings/msd-xsettings-manager.c +++ b/plugins/xsettings/msd-xsettings-manager.c @@ -659,7 +659,7 @@ gboolean  mate_xsettings_manager_start (MateXSettingsManager *manager,                                 GError               **error)  { -        int          i; +        guint        i;          GList       *list, *l;          g_debug ("Starting xsettings manager"); @@ -689,6 +689,11 @@ mate_xsettings_manager_start (MateXSettingsManager *manager,                  gsettings = g_hash_table_lookup (manager->priv->gsettings,                                                  translations[i].gsettings_schema); +		if (gsettings == NULL) { +			g_warning ("Schemas '%s' has not been setup", translations[i].gsettings_schema); +			continue; +		} +                  val = g_settings_get_value (gsettings, translations[i].gsettings_key);                  process_value (manager, &translations[i], val); @@ -697,7 +702,8 @@ mate_xsettings_manager_start (MateXSettingsManager *manager,          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_signal_connect_object (G_OBJECT (l->data), "changed", +                			 G_CALLBACK (xsettings_callback), manager, 0);          }          g_list_free (list); | 
