From c5a30946507e23cf01e3657d076bde73f0a519a9 Mon Sep 17 00:00:00 2001 From: Jeff Cai Date: Wed, 6 May 2009 17:57:47 +0800 Subject: 2009-05-06 Jeff Cai ** Fix for bug #524497 * em-composer-utils.c: (guess_account): Change the order getting an account The original order is: 1. The account in 'To' of the message. 2. The account of the message source. 3. The account of the folder source. The new order is: 1. The account of the folder source. 2. The account of the message source. 3. The account in "To' of the message --- mail/em-composer-utils.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'mail/em-composer-utils.c') diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c index 38f35d1b5b..0425645abe 100644 --- a/mail/em-composer-utils.c +++ b/mail/em-composer-utils.c @@ -1861,7 +1861,22 @@ guess_account (CamelMimeMessage *message, CamelFolder *folder) && (account = guess_account_folder(folder))) return account; - /* then recipient (to/cc) in account table */ + /* check for source folder */ + if (folder) { + account = guess_account_folder(folder); + if (account) + return account; + } + + /* then message source */ + if (account == NULL + && (tmp = camel_mime_message_get_source(message))) { + account = mail_config_get_account_by_source_url(tmp); + if (account) + return account; + } + + /* finally recipient (to/cc) in account table */ account_hash = generate_account_hash (); for (j=0;account == NULL && j<2;j++) { const CamelInternetAddress *to; @@ -1877,16 +1892,6 @@ guess_account (CamelMimeMessage *message, CamelFolder *folder) } g_hash_table_destroy(account_hash); - /* then message source */ - if (account == NULL - && (tmp = camel_mime_message_get_source(message))) - account = mail_config_get_account_by_source_url(tmp); - - /* and finally, source folder */ - if (account == NULL - && folder) - account = guess_account_folder(folder); - return account; } -- cgit