From 733ac62d82bab03f3cc32e042cfa56a5e3138869 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 9 Apr 2004 19:47:46 +0000 Subject: Don't bother adding the autogen sig here, e-signature-list.c handles this 2004-04-09 Jeffrey Stedfast * mail-config.c (mail_config_init): Don't bother adding the autogen sig here, e-signature-list.c handles this now. * em-migrate.c (em_upgrade_accounts_1_4): Migrate the signature uids. Fixes bug #56726. svn path=/trunk/; revision=25404 --- mail/em-migrate.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'mail/em-migrate.c') diff --git a/mail/em-migrate.c b/mail/em-migrate.c index d2cd7f31f3..e84309006c 100644 --- a/mail/em-migrate.c +++ b/mail/em-migrate.c @@ -55,6 +55,7 @@ #include "e-util/e-bconf-map.h" #include "e-util/e-account-list.h" +#include "e-util/e-signature-list.h" #include "mail-config.h" #include "em-utils.h" @@ -1842,6 +1843,33 @@ em_upgrade_xml_1_4 (xmlDocPtr doc, gboolean vfolders_xml) return upgrade_xml_uris (doc, upgrade_xml_uris_1_4); } +static char * +get_nth_sig (int id) +{ + ESignatureList *list; + ESignature *sig; + EIterator *iter; + char *uid = NULL; + int i = 0; + + list = mail_config_get_signatures (); + iter = e_list_get_iterator ((EList *) list); + + while (e_iterator_is_valid (iter) && i < id) { + e_iterator_next (iter); + i++; + } + + if (i == id && e_iterator_is_valid (iter)) { + sig = (ESignature *) e_iterator_get (iter); + uid = g_strdup (sig->uid); + } + + g_object_unref (iter); + + return uid; +} + static int em_upgrade_accounts_1_4 (void) { @@ -1868,6 +1896,14 @@ em_upgrade_accounts_1_4 (void) account->sent_folder_uri = url; } + if (account->id->sig_uid && !strncmp (account->id->sig_uid, "::", 2)) { + int sig_id; + + sig_id = strtol (account->id->sig_uid + 2, NULL, 10); + g_free (account->id->sig_uid); + account->id->sig_uid = get_nth_sig (sig_id); + } + e_iterator_next (iter); } -- cgit v1.2.3