http://bugzilla.gnome.org/show_bug.cgi?id=269129 should be considered for both branches -- Jeffrey Stedfast Evolution Hacker - Novell, Inc. fejj ximian com - www.novell.com
Index: ChangeLog =================================================================== RCS file: /cvs/gnome/evolution/mail/ChangeLog,v retrieving revision 1.3619 diff -u -r1.3619 ChangeLog --- ChangeLog 13 Apr 2005 03:32:58 -0000 1.3619 +++ ChangeLog 21 Apr 2005 20:26:26 -0000 @@ -1,3 +1,9 @@ +2005-04-21 Jeffrey Stedfast <fejj novell com> + + * em-composer-utils.c (post_reply_to_message): Use the real folder + and real uid (not the virtual if replying to a message in a + vfolder). Fixes bug #269129. + 2005-04-12 Not Zed <NotZed Ximian com> ** See bug #273752 Index: em-composer-utils.c =================================================================== RCS file: /cvs/gnome/evolution/mail/em-composer-utils.c,v retrieving revision 1.36 diff -u -r1.36 em-composer-utils.c --- em-composer-utils.c 8 Apr 2005 17:48:45 -0000 1.36 +++ em-composer-utils.c 21 Apr 2005 20:26:26 -0000 @@ -52,6 +52,7 @@ #include <camel/camel-string-utils.h> #include <camel/camel-stream-mem.h> #include <camel/camel-nntp-address.h> +#include <camel/camel-vee-folder.h> static EAccount * guess_account (CamelMimeMessage *message, CamelFolder *folder); @@ -1958,15 +1959,29 @@ const char *message_id, *references; CamelInternetAddress *to; EDestination **tov = NULL; + CamelFolder *real_folder; EMsgComposer *composer; char *subject, *url; EAccount *account; + char *real_uid; guint32 flags; if (message == NULL) return; - account = guess_account (message, folder); + if (CAMEL_IS_VEE_FOLDER (folder)) { + CamelMessageInfo *info; + + info = camel_folder_get_message_info (folder, uid); + real_folder = camel_vee_folder_get_location ((CamelVeeFolder *) folder, (struct _CamelVeeMessageInfo *) info, &real_uid); + camel_folder_free_message_info (folder, info); + } else { + real_folder = folder; + camel_object_ref (folder); + real_uid = g_strdup (uid); + } + + account = guess_account (message, real_folder); flags = CAMEL_MESSAGE_ANSWERED | CAMEL_MESSAGE_SEEN; to = camel_internet_address_new(); @@ -1991,7 +2006,7 @@ g_free (subject); - url = mail_tools_folder_to_url (folder); + url = mail_tools_folder_to_url (real_folder); e_msg_composer_hdrs_set_post_to ((EMsgComposerHdrs *) composer->hdrs, url); g_free (url); @@ -2020,12 +2035,14 @@ composer_set_body (composer, message, NULL); - em_composer_utils_setup_callbacks (composer, folder, uid, flags, flags, NULL, NULL); + em_composer_utils_setup_callbacks (composer, real_folder, real_uid, flags, flags, NULL, NULL); gtk_widget_show (GTK_WIDGET (composer)); e_msg_composer_unset_changed (composer); - + + camel_object_unref (real_folder); camel_object_unref(to); + g_free (real_uid); } /**
Attachment:
smime.p7s
Description: S/MIME cryptographic signature