[evolution-patches] seeking patch review for bug #41846



Hi, there,

Here's a patch for bug #41846/55290.
This bugs shows the outbox queue could be blocked when error occurs.

Patch is simple, just change "break" to "continue" in a for loop. Seems work for me.

Please review it. I'm wondering if there's any side-effect.

Thanks.
Calvin
Index: mail/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.3146
diff -u -r1.3146 ChangeLog
--- mail/ChangeLog	5 Mar 2004 19:46:17 -0000	1.3146
+++ mail/ChangeLog	8 Mar 2004 08:55:37 -0000
@@ -1,3 +1,8 @@
+2004-03-08  Calvin Liu <calvin liu sun com>
+	* mail-ops.c (send_queue_send): Don't interrupt sending when
+	error occurs. So the outbox queue won't be blocked.
+	Fixes bug #55290/#41846
+	
 2004-03-05  Jeffrey Stedfast  <fejj ximian com>
 
 	* em-format-html-display.c (em_format_html_display_search): Don't
Index: mail/mail-ops.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/mail-ops.c,v
retrieving revision 1.419
diff -u -r1.419 mail-ops.c
--- mail/mail-ops.c	3 Mar 2004 08:44:48 -0000	1.419
+++ mail/mail-ops.c	8 Mar 2004 08:55:41 -0000
@@ -731,16 +731,15 @@
 		
 		mail_send_message (message, m->destination, m->driver, &mm->ex);
 		
-		if (camel_exception_is_set (&mm->ex))
-			break;
-		
-		camel_folder_set_message_flags (m->queue, uids->pdata[i], CAMEL_MESSAGE_DELETED, CAMEL_MESSAGE_DELETED);
+		if (camel_exception_is_set (&mm->ex)) {
+			report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Failed on message %d of %d"), i+1, uids->len);
+			continue;
+		}
+		else {
+			camel_folder_set_message_flags (m->queue, uids->pdata[i], CAMEL_MESSAGE_DELETED, CAMEL_MESSAGE_DELETED);
+			report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Complete."));
+		}
 	}
-
-	if (camel_exception_is_set (&mm->ex))
-		report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Failed on message %d of %d"), i+1, uids->len);
-	else
-		report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Complete."));
 
 	if (m->driver) {
 		camel_object_unref (m->driver);


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