From f927a9a169f11f34171937172cade82c184fa022 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 21 Jun 2013 11:03:25 -0400 Subject: Bug 702664 - Settings migration issue from "headers" to "show-headers" Give the "show-headers" key a proper default value, and watch out for an empty "headers" key, which is supposed to imply that default value. --- modules/mail/em-mailer-prefs.c | 3 ++- modules/settings/e-settings-deprecated.c | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c index 38e66b0002..5652487b2d 100644 --- a/modules/mail/em-mailer-prefs.c +++ b/modules/mail/em-mailer-prefs.c @@ -58,7 +58,8 @@ static GType col_types[] = { #define EM_FORMAT_HEADER_XMAILER "x-evolution-mailer" -/* temporarily copied from em-format.c */ +/* Keep this synchronized with the "show-headers" key + * in the "org.gnome.evolution.mail" GSettings schema. */ static const gchar *default_headers[] = { N_("From"), N_("Reply-To"), diff --git a/modules/settings/e-settings-deprecated.c b/modules/settings/e-settings-deprecated.c index 058c7fddd8..d22dbf99e8 100644 --- a/modules/settings/e-settings-deprecated.c +++ b/modules/settings/e-settings-deprecated.c @@ -120,6 +120,10 @@ settings_deprecated_header_strv_to_variant (gchar **strv) length = g_strv_length (strv); + /* Disregard an empty list. */ + if (length == 0) + return NULL; + g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(sb)")); for (ii = 0; ii < length; ii++) @@ -519,7 +523,9 @@ settings_deprecated_constructed (GObject *object) strv_value = g_settings_get_strv (priv->mail_settings, "headers"); variant = settings_deprecated_header_strv_to_variant (strv_value); - g_settings_set_value (priv->mail_settings, "show-headers", variant); + if (variant != NULL) + g_settings_set_value ( + priv->mail_settings, "show-headers", variant); g_strfreev (strv_value); /* XXX The "reply-style" key uses a completely different -- cgit v1.2.3