evolution r35680 - trunk/mail



Author: mcrha
Date: Tue Jun 24 08:01:04 2008
New Revision: 35680
URL: http://svn.gnome.org/viewvc/evolution?rev=35680&view=rev

Log:
2008-06-24  Milan Crha  <mcrha redhat com>

	** Fix for bug #537275

	* em-html-stream.c: (emhs_cleanup): Close GtkHTMLStream on cancel.
	* em-html-stream.c: (emhs_gtkhtml_destroy): Set the cancel.
	* em-sync-stream.c: (emss_process_message):
	Do not pass data to the child structure if we were canceled.



Modified:
   trunk/mail/ChangeLog
   trunk/mail/em-html-stream.c
   trunk/mail/em-sync-stream.c

Modified: trunk/mail/em-html-stream.c
==============================================================================
--- trunk/mail/em-html-stream.c	(original)
+++ trunk/mail/em-html-stream.c	Tue Jun 24 08:01:04 2008
@@ -80,6 +80,8 @@
 static void
 emhs_cleanup(EMHTMLStream *emhs)
 {
+	if (emhs->sync.cancel && emhs->html_stream)
+		gtk_html_stream_close (emhs->html_stream, GTK_HTML_STREAM_ERROR);
 	emhs->html_stream = NULL;
 	emhs->sync.cancel = TRUE;
 	g_signal_handler_disconnect(emhs->html, emhs->destroy_id);
@@ -147,6 +149,7 @@
 emhs_gtkhtml_destroy(struct _GtkHTML *html, EMHTMLStream *emhs)
 {
 	d(printf("%p: emhs gtkhtml destroy\n", emhs));
+	emhs->sync.cancel = TRUE;
 	emhs_cleanup(emhs);
 }
 

Modified: trunk/mail/em-sync-stream.c
==============================================================================
--- trunk/mail/em-sync-stream.c	(original)
+++ trunk/mail/em-sync-stream.c	Tue Jun 24 08:01:04 2008
@@ -59,6 +59,13 @@
 {
 	struct _EMSyncStream *emss = msg->emss;
 
+	if (emss->cancel) {
+		/* Do not pass data to the child if we are canceled. */
+		e_flag_set (msg->done);
+
+		return FALSE;
+	}
+
 	/* Force out any pending data before doing anything else. */
 	if (emss->buffer != NULL && emss->buffer->len > 0) {
 		EMSS_CLASS (emss)->sync_write (



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