[evolution-patches] [Fwd: [composer, mailer] #59490 Signature is prefixed with '> " in replies]



looks like it didn't make it to the list
--- Begin Message --- Attached patch removes body content + signature html concatenating and calls e_msg_composer_show_sig_file instead. It may improve performance for long replies as well.

The problem is that when mailer formats the text/html part, it adds \0 at the end of stream. em-format-quote.c:emqf_format_message then adds </blocquote>...., but it's placed after the \0 from formatter. It doesn't bite us there anymore, but might be good idea to fix it anyway.

R.

? autosave1
? composer-marshal.c
? composer-marshal.h
? composer-settings.diff
? diff
? forward_inline_with_inlined_images_fix.patch
Index: e-msg-composer.c
===================================================================
RCS file: /cvs/gnome/evolution/composer/e-msg-composer.c,v
retrieving revision 1.474
diff -u -p -r1.474 e-msg-composer.c
--- e-msg-composer.c	18 Jun 2004 05:59:16 -0000	1.474
+++ e-msg-composer.c	14 Jul 2004 12:15:36 -0000
@@ -1126,9 +1126,6 @@ set_editor_text(EMsgComposer *composer, 
 	BonoboWidget *editor;
 	CORBA_Environment ev;
 	Bonobo_Unknown object;
-	char *sig, *mem = NULL;
-	const char *content;
-	size_t len;
 
 	g_return_if_fail (composer->persist_stream_interface != CORBA_OBJECT_NIL);
 	
@@ -1138,25 +1135,7 @@ set_editor_text(EMsgComposer *composer, 
 	
 	CORBA_exception_init (&ev);
 
-	/* This copying bullshit is because the bonobo stream interface is just painful */
-	len = strlen(text);
-	if (set_signature && (sig = get_signature_html (composer))) {
-		char *p;
-		
-		len += strlen (sig);
-		content = mem = g_malloc (len + (pad_signature ? 4 : 0) + 1);
-		p = g_stpcpy (mem, text);
-		if (pad_signature)
-			p = g_stpcpy (p, "<br>");
-		strcpy (p, sig);
-		g_free (sig);
-	} else {
-		content = text;
-	}
-
-	stream = bonobo_stream_mem_create(content, len, TRUE, FALSE);
-	g_free(mem);
-
+	stream = bonobo_stream_mem_create (text, strlen (text), TRUE, FALSE);
 	object = bonobo_object_corba_objref (BONOBO_OBJECT (stream));
 	Bonobo_PersistStream_load (persist, (Bonobo_Stream) object, "text/html", &ev);
 	if (ev._major != CORBA_NO_EXCEPTION) {
@@ -1169,6 +1148,9 @@ set_editor_text(EMsgComposer *composer, 
 	CORBA_exception_free (&ev);
 	
 	bonobo_object_unref (BONOBO_OBJECT (stream));
+
+	if (set_signature)
+		e_msg_composer_show_sig_file (composer);
 }
 
 /* Commands.  */

--- End Message ---


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