evolution r35680 - trunk/mail
- From: mcrha svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution r35680 - trunk/mail
- Date: Tue, 24 Jun 2008 08:01:04 +0000 (UTC)
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]