[evolution-patches] new fix for bug #61427



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]