sync with 0.7.4cvs29
[claws.git] / src / main.c
index a9530ea851bcc7dd43c2232d4abfc40cab76db53..c27cf00542397fadb4519e34dd9578a072387c58 100644 (file)
@@ -568,19 +568,28 @@ static void open_compose_new_with_recipient(const gchar *address)
 static void send_queue(void)
 {
        GList *list;
+       FolderItem *def_outbox;
 
-       if (procmsg_send_queue(prefs_common.savemsg) < 0)
-               alertpanel_error(_("Some errors occurred while sending queued messages."));
-
-       statusbar_pop_all();
+       def_outbox = folder_get_default_outbox();
 
        for (list = folder_get_list(); list != NULL; list = list->next) {
-               Folder *folder;
+               Folder *folder = list->data;
 
-               folder = list->data;
                if (folder->queue) {
+                       if (procmsg_send_queue
+                               (folder->queue, prefs_common.savemsg) < 0)
+                               alertpanel_error(_("Some errors occurred while sending queued messages."));
+                       statusbar_pop_all();
                        folder_item_scan(folder->queue);
                        folderview_update_item(folder->queue, TRUE);
+                       if (prefs_common.savemsg && folder->outbox) {
+                               folderview_update_item(folder->outbox, TRUE);
+                               if (folder->outbox == def_outbox)
+                                       def_outbox = NULL;
+                       }
                }
        }
+
+       if (prefs_common.savemsg && def_outbox)
+               folderview_update_item(def_outbox, TRUE);
 }