diff -Naur mate-file-archiver-1.6.0.orig/src/fr-window.c mate-file-archiver-1.6.0/src/fr-window.c --- mate-file-archiver-1.6.0.orig/src/fr-window.c 2013-04-01 01:30:22.000000000 +0200 +++ mate-file-archiver-1.6.0/src/fr-window.c 2013-12-11 18:50:10.513432161 +0100 @@ -4606,6 +4606,9 @@ char *value; gboolean result; + if (window->priv->settings_caja == NULL) + return FALSE; + value = g_settings_get_string (window->priv->settings_caja, CAJA_CLICK_POLICY); result = (value != NULL) && (strncmp (value, "single", 6) == 0); g_free (value); @@ -5390,6 +5393,7 @@ GtkToolItem *open_recent_tool_item; GtkWidget *menu_item; GError *error = NULL; + const char * const *schemas; /* data common to all windows. */ @@ -5407,7 +5411,17 @@ window->priv->settings_ui = g_settings_new (ENGRAMPA_SCHEMA_UI); window->priv->settings_general = g_settings_new (ENGRAMPA_SCHEMA_GENERAL); window->priv->settings_dialogs = g_settings_new (ENGRAMPA_SCHEMA_DIALOGS); - window->priv->settings_caja = g_settings_new (CAJA_SCHEMA); + + /* Only use the caja schema if it's installed */ + for (schemas = g_settings_list_schemas (); + *schemas != NULL; + schemas++) + { + if (g_strcmp0 (*schemas, CAJA_SCHEMA) == 0) { + window->priv->settings_caja = g_settings_new (CAJA_SCHEMA); + break; + } + } /* Create the application. */ @@ -6007,7 +6021,9 @@ "changed::" PREF_LISTING_USE_MIME_ICONS, G_CALLBACK (pref_use_mime_icons_changed), window); - g_signal_connect (window->priv->settings_caja, + + if (window->priv->settings_caja) + g_signal_connect (window->priv->settings_caja, "changed::" CAJA_CLICK_POLICY, G_CALLBACK (pref_click_policy_changed), window);