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/ChangeLog | 16 ++++++++++++++++ mail/em-composer-utils.c | 27 ++++++++++++++++----------- 2 files changed, 32 insertions(+), 11 deletions(-) (limited to 'mail') diff --git a/mail/ChangeLog b/mail/ChangeLog index 359083a65e..90dceba510 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,19 @@ +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 + 2009-04-28 Milan Crha ** Fix for bug #572348 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 v1.2.3