Re: [evolution-patches] new fix for bug #61427




on second thoughts, just try this.

On Tue, 2004-07-13 at 17:17 -0400, Jeffrey Stedfast wrote:
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

Plain text document attachment (61427.patch)
? 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;
--
Michael Zucchi <notzed ximian com>
"born to die, live to work, it's all downhill from here"
Novell's Evolution and Free Software Developer


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