diff options
author | Jeff Cai <jeff.cai@sun.com> | 2009-05-06 17:57:47 +0800 |
---|---|---|
committer | Jeff Cai <jeff.cai@sun.com> | 2009-05-06 17:57:47 +0800 |
commit | c5a30946507e23cf01e3657d076bde73f0a519a9 (patch) | |
tree | 7549ed6f0f8258fb85854c4ed569021d25a43135 | |
parent | 95a1645fc577bc56f44cac5887e72ca785e140e1 (diff) | |
download | gsoc2013-evolution-c5a30946507e23cf01e3657d076bde73f0a519a9.tar.gz gsoc2013-evolution-c5a30946507e23cf01e3657d076bde73f0a519a9.tar.zst gsoc2013-evolution-c5a30946507e23cf01e3657d076bde73f0a519a9.zip |
2009-05-06 Jeff Cai <jeff.cai@sun.com>
** 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
-rw-r--r-- | mail/ChangeLog | 16 | ||||
-rw-r--r-- | mail/em-composer-utils.c | 27 |
2 files changed, 32 insertions, 11 deletions
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 <jeff.cai@sun.com> + + ** 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 <mcrha@redhat.com> ** 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; } |