Sync with HEAD
authorColin Leroy <colin@colino.net>
Fri, 6 Aug 2004 16:48:54 +0000 (16:48 +0000)
committerColin Leroy <colin@colino.net>
Fri, 6 Aug 2004 16:48:54 +0000 (16:48 +0000)
ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/compose.c

index 5a138294526cd104299b20b379008930d3e2dbf3..e2e49dcaf9ba34e6394af2075e1877dc9af53223 100644 (file)
@@ -1,3 +1,8 @@
+2004-08-06 [colin]     0.9.12cvs47.1
+
+       * src/compose.c
+               Sync with HEAD
+
 2004-08-06 [christoph] 0.9.12cvs46.2
 
        * src/main.c
index 746ac7acc7e11a248594bd5f55db9de9deaedfc3..940247ab360e916810b2f82c086df7e126df5a28 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.100.2.3 -r 1.100.2.4 AUTHORS; cvs diff -u -r 1.50 -r 1.51 po/pt_BR.po; ) > 0.9.12cvs40.1.patchset
 ( cvs diff -u -r 1.12.2.9 -r 1.12.2.10 src/action.c; cvs diff -u -r 1.9.2.1 -r 1.9.2.2 src/addressadd.c; cvs diff -u -r 1.60.2.8 -r 1.60.2.9 src/addressbook.c; cvs diff -u -r 1.5.10.3 -r 1.5.10.4 src/addrgather.c; cvs diff -u -r 1.2.4.3 -r 1.2.4.4 src/browseldap.c; cvs diff -u -r 1.382.2.38 -r 1.382.2.39 src/compose.c; cvs diff -u -r 1.23.2.4 -r 1.23.2.5 src/crash.c; cvs diff -u -r 1.14.2.1 -r 1.14.2.2 src/editaddress.c; cvs diff -u -r 1.11.2.1 -r 1.11.2.2 src/editgroup.c; cvs diff -u -r 1.10.2.1 -r 1.10.2.2 src/editldap_basedn.c; cvs diff -u -r 1.26.2.4 -r 1.26.2.5 src/foldersel.c; cvs diff -u -r 1.14.2.1 -r 1.14.2.2 src/importldif.c; cvs diff -u -r 1.83.2.14 -r 1.83.2.15 src/mimeview.c; cvs diff -u -r 1.204.2.18 -r 1.204.2.19 src/prefs_common.c; cvs diff -u -r 1.12.2.3 -r 1.12.2.4 src/prefs_template.c; cvs diff -u -r 1.9.2.6 -r 1.9.2.7 src/sourcewindow.c; cvs diff -u -r 1.395.2.26 -r 1.395.2.27 src/summaryview.c; cvs diff -u -r 1.4.2.2 -r 1.4.2.3 src/gtk/about.c; cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/gtk/foldersort.c; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/gtk/logwindow.c; cvs diff -u -r 1.5.2.4 -r 1.5.2.5 src/gtk/pluginwindow.c; cvs diff -u -r 1.12.2.4 -r 1.12.2.5 src/gtk/prefswindow.c; ) > 0.9.12cvs40.2.patchset
 ( cvs diff -u -r 1.396.2.6 -r 1.396.2.7 ChangeLog; cvs diff -u -r 1.2504.2.9 -r 1.2504.2.10 ChangeLog.claws; cvs diff -u -r 1.391.2.6 -r 1.391.2.7 ChangeLog.jp; cvs diff -u -r 1.654.2.131 -r 1.654.2.132 configure.ac; cvs diff -u -r 1.1 -r 1.2 sylpheed-claws.pc.in; cvs diff -u -r 1.213.2.10 -r 1.213.2.11 src/folder.c; cvs diff -u -r 1.179.2.5 -r 1.179.2.6 src/imap.c; cvs diff -u -r 1.3.4.1 -r 1.3.4.2 src/localfolder.c; cvs diff -u -r 1.94.2.28 -r 1.94.2.29 src/messageview.c; cvs diff -u -r 1.83.2.15 -r 1.83.2.16 src/mimeview.c; cvs diff -u -r 1.20.2.1 -r 1.20.2.2 src/mimeview.h; cvs diff -u -r 1.16.2.8 -r 1.16.2.9 src/msgcache.c; cvs diff -u -r 1.101.2.5 -r 1.101.2.6 src/news.c; cvs diff -u -r 1.3.2.1 -r 1.3.2.2 src/prefs_ext_prog.c; cvs diff -u -r 1.52.2.4 -r 1.52.2.5 src/prefs_folder_item.c; cvs diff -u -r 1.4.2.5 -r 1.4.2.6 src/prefs_fonts.c; cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/prefs_msg_colors.c; cvs diff -u -r 1.5.2.2 -r 1.5.2.3 src/prefs_spelling.c; cvs diff -u -r 1.3.2.6 -r 1.3.2.7 src/prefs_themes.c; cvs diff -u -r 1.30.2.3 -r 1.30.2.4 src/prefs_toolbar.c; cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/prefs_wrapping.c; cvs diff -u -r 1.17.2.2 -r 1.17.2.3 src/procmime.h; cvs diff -u -r 1.9.2.5 -r 1.9.2.6 src/common/defs.h; cvs diff -u -r 1.6.2.2 -r 1.6.2.3 src/common/nntp.c; cvs diff -u -r 1.23.2.3 -r 1.23.2.4 src/common/session.c; cvs diff -u -r 1.8.2.1 -r 1.8.2.2 src/common/session.h; cvs diff -u -r 1.13.2.6 -r 1.13.2.7 src/common/socket.c; cvs diff -u -r 1.20.2.5 -r 1.20.2.6 src/common/utils.h; cvs diff -u -r 1.1.4.3 -r 1.1.4.4 src/common/xml.c; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/common/xml.h; cvs diff -u -r 1.12.2.5 -r 1.12.2.6 src/gtk/prefswindow.c; cvs diff -u -r 1.7 -r 1.8 src/gtk/prefswindow.h; cvs diff -u -r 1.9.2.2 -r 1.9.2.3 src/plugins/clamav/clamav_plugin_gtk.c; cvs diff -u -r 1.5.2.2 -r 1.5.2.3 src/plugins/dillo_viewer/dillo_prefs.c; cvs diff -u -r 1.5.2.2 -r 1.5.2.3 src/plugins/image_viewer/viewerprefs.c; cvs diff -u -r 1.23.2.2 -r 1.23.2.3 src/plugins/spamassassin/spamassassin_gtk.c; ) > 0.9.12cvs46.1.patchset
+( cvs diff -u -r 1.382.2.39 -r 1.382.2.40 src/compose.c; ) > 0.9.12cvs47.1.patchset
index ca851dbb1d286adc1100452417902375cdb7ca9b..083eb85bd6407d6553bef849efd87f7b502ccd81 100644 (file)
@@ -11,9 +11,9 @@ MINOR_VERSION=9
 MICRO_VERSION=12
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=46
+EXTRA_VERSION=47
 EXTRA_RELEASE=
-EXTRA_GTK2_VERSION=.2
+EXTRA_GTK2_VERSION=.1
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}
index 831799e2792546a50a610f60996acd73853167cd..3ed009f5adf54bc6455e9a21ef8181ec6092aabb 100644 (file)
@@ -489,6 +489,8 @@ static gboolean compose_headerentry_button_pressed (GtkWidget *entry,
 
 static void compose_show_first_last_header (Compose *compose, gboolean show_first);
 
+static void compose_allow_user_actions (Compose *compose, gboolean allow);
+
 #if USE_ASPELL
 static void compose_check_all             (Compose *compose);
 static void compose_highlight_all         (Compose *compose);
@@ -3261,20 +3263,30 @@ gint compose_send(Compose *compose)
 {
        gint msgnum;
        FolderItem *folder;
-       gint val;
+       gint val = -1;
        gchar *msgpath;
 
+       compose_allow_user_actions (compose, FALSE);
+       compose->sending = TRUE;
+
        if (compose_check_entries(compose, TRUE) == FALSE)
-               return -1;
+               goto bail;
 
        val = compose_queue(compose, &msgnum, &folder);
+
        if (val) {
                alertpanel_error(_("Could not queue message for sending"));
-               return -1;
+               goto bail;
        }
 
+       compose->sending = FALSE;       
+       gtk_widget_destroy(compose->window);
+       /* No more compose access in the normal codepath after this point! */
+
        if (msgnum == 0) {
-               alertpanel_error(_("The message was queued but could not be sent.\nUse \"Send queued messages\" from the main window to retry."));
+               alertpanel_error(_("The message was queued but could not be "
+                                  "sent.\nUse \"Send queued messages\" from "
+                                  "the main window to retry."));
                return 0;
        }
        
@@ -3282,11 +3294,18 @@ gint compose_send(Compose *compose)
        val = procmsg_send_message_queue(msgpath);
        g_free(msgpath);
 
-       folder_item_remove_msg(folder, msgnum);
-       
-       folder_item_scan(folder);
+       if (val == 0) {
+               folder_item_remove_msg(folder, msgnum);
+               folder_item_scan(folder);
+       }
 
-       return val;
+       return 0;
+
+bail:
+       compose_allow_user_actions (compose, TRUE);
+       compose->sending = FALSE;
+
+       return -1;
 }
 
 #if 0 /* compose restructure */
@@ -6568,13 +6587,7 @@ static void compose_send_cb(gpointer data, guint action, GtkWidget *widget)
                compose->draft_timeout_tag = -1;
        }
 
-       compose_allow_user_actions (compose, FALSE);
-       compose->sending = TRUE;
-       val = compose_send(compose);
-       compose_allow_user_actions (compose, TRUE);
-       compose->sending = FALSE;
-
-       if (val == 0) gtk_widget_destroy(compose->window);
+       compose_send(compose);
 }
 
 static void compose_send_later_cb(gpointer data, guint action,