hopefully this time it's for real. I changed the code to use gtkhtml's code to "export" the engine's selection to an HTMLObject that we can then use to dump to a GString like we did before with the primary selection (which is probably why people reported that when reply in evo it sometimes replied to mozilla's selected text rather than evo's?) Jeff -- Jeffrey Stedfast Evolution Hacker - Novell, Inc. fejj ximian com - www.novell.com
? 55303-2.patch ? 55303.patch ? 61427.patch Index: ChangeLog =================================================================== RCS file: /cvs/gnome/evolution/mail/ChangeLog,v retrieving revision 1.3414 diff -u -r1.3414 ChangeLog --- ChangeLog 10 Jul 2004 01:31:04 -0000 1.3414 +++ ChangeLog 13 Jul 2004 21:22:42 -0000 @@ -1,3 +1,8 @@ +2004-07-13 Jeffrey Stedfast <fejj novell com> + + * em-folder-view.c (emfv_message_reply): Chck that the selection + is active. Hopefully this will fix bug #61427. + 2004-07-09 Not Zed <NotZed Ximian com> * em-folder-browser.c (emfb_folder_expunge): only call expunge if Index: em-folder-view.c =================================================================== RCS file: /cvs/gnome/evolution/mail/em-folder-view.c,v retrieving revision 1.80 diff -u -r1.80 em-folder-view.c --- em-folder-view.c 23 Jun 2004 08:08:40 -0000 1.80 +++ em-folder-view.c 13 Jul 2004 21:22:42 -0000 @@ -82,6 +82,7 @@ #include <gtkhtml/htmlobject.h> #include <gtkhtml/htmlengine.h> #include <gtkhtml/htmlengine-save.h> +#include <gtkhtml/htmlengine-edit-cut-and-paste.h> #include "mail-mt.h" #include "mail-ops.h" @@ -1230,25 +1231,22 @@ static void emfv_message_reply(EMFolderView *emfv, int mode) { - /* GtkClipboard *clip; */ - + HTMLObject *selection; + guint len; + if (emfv->list->cursor_uid == NULL) return; if (!em_utils_check_user_can_send_mail ((GtkWidget *) emfv)) return; - - /* Look away! Look away! */ - - /* HACK: Nasty internal gtkhtml poking going on here */ - - if (((EMFormatHTML *)emfv->preview)->html->engine->selection - && ((EMFormatHTML *)emfv->preview)->html->engine->primary) { - /* && GTK_WIDGET_HAS_FOCUS(emfv->preview->formathtml.html)*/ + + html_engine_copy_object (((EMFormatHTML *)emfv->preview)->html->engine, &selection, &len); + if (selection != NULL) { HTMLEngineSaveState *state; - + state = html_engine_save_buffer_new(((EMFormatHTML *)emfv->preview)->html->engine, TRUE); - html_object_save(((EMFormatHTML *)emfv->preview)->html->engine->primary, state); + html_object_save (selection, state); + html_object_destroy (selection); if (state->user_data && ((GString *)state->user_data)->len) { CamelMimeMessage *msg, *src; struct _camel_header_raw *header;
Attachment:
smime.p7s
Description: S/MIME cryptographic signature