Blob Blame History Raw
From 5a89422182cc9e5e75af808beef19479bab6e9de Mon Sep 17 00:00:00 2001
From: Matthew Barnes <mbarnes@redhat.com>
Date: Fri, 17 Jan 2014 02:09:20 +0000
Subject: Prevent GSettings from freaking out over a missing junk filter.

Boy does GSettings like to abort applications!  The default value for
the 'junk-default-plugin' key is 'Bogofilter' but if the key's mapping
function cannot find Evolution's Bogofilter integration module (it is
optional after all, so may not be installed), then indicating failure
will make GSettings abort Evolution.  So always indicate success.
---
diff --git a/modules/settings/e-settings-mail-session.c b/modules/settings/e-settings-mail-session.c
index 4665731..188e325 100644
--- a/modules/settings/e-settings-mail-session.c
+++ b/modules/settings/e-settings-mail-session.c
@@ -38,7 +38,6 @@ settings_mail_session_name_to_junk_filter (GValue *value,
                                            gpointer user_data)
 {
 	const gchar *filter_name;
-	gboolean success = FALSE;
 
 	filter_name = g_variant_get_string (variant, NULL);
 
@@ -48,10 +47,14 @@ settings_mail_session_name_to_junk_filter (GValue *value,
 		junk_filter = e_mail_session_get_junk_filter_by_name (
 			E_MAIL_SESSION (user_data), filter_name);
 		g_value_set_object (value, junk_filter);
-		success = (junk_filter != NULL);
 	}
 
-	return success;
+	/* XXX Always return success, even if we cannot find a matching
+	 *     EMailJunkFilter.  The default value is 'Bogofilter', but
+	 *     if the Bogofilter module is not installed then GSettings
+	 *     will actually abort the program.  Nice. */
+
+	return TRUE;
 }
 
 static GVariant *
--
cgit v0.9.2