2005-04-06 [paul] 1.9.6cvs27
authorPaul Mangan <paul@claws-mail.org>
Wed, 6 Apr 2005 08:46:10 +0000 (08:46 +0000)
committerPaul Mangan <paul@claws-mail.org>
Wed, 6 Apr 2005 08:46:10 +0000 (08:46 +0000)
sync with main:

* configure.ac
changed -traditional-cpp to -no-cpp-precomp for newer
Mac OS X support
* src/foldersel.c
made column resize automatically
* src/send_message.c
send_message_smtp(): consider EOF right after QUIT
successful (workaround for Gmail SMTP server)
* src/common/socket.c
ssl_read(), ssl_peek(): check EOF which violates the
SSL protocol
* src/gtk/colorlabel.c
removed warnings when displaying colorlabel menu
(don't use GtkAlignment)

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/common/socket.c
src/foldersel.c
src/gtk/colorlabel.c
src/send_message.c

index 4c57b2b5b902521979afdc9e64fcd1ddfdbe6821..a6585fe7a9823f1c7d4d31f45834b228f1833723 100644 (file)
@@ -1,3 +1,22 @@
+2005-04-06 [paul]      1.9.6cvs27
+
+       sync with main:
+
+       * configure.ac
+               changed -traditional-cpp to -no-cpp-precomp for newer
+               Mac OS X support
+       * src/foldersel.c
+               made column resize automatically
+       * src/send_message.c
+               send_message_smtp(): consider EOF right after QUIT
+               successful (workaround for Gmail SMTP server)
+       * src/common/socket.c
+               ssl_read(), ssl_peek(): check EOF which violates the
+               SSL protocol
+       * src/gtk/colorlabel.c
+               removed warnings when displaying colorlabel menu
+               (don't use GtkAlignment)
+
 2005-04-05 [paul]      1.9.6cvs26
 
        * src/plugins/trayicon/trayicon.c
index b788c2c478194e791288c8e0da95f8c2fbc2f11f..99e2f3f18a73ba9a84e5fcf3fed2755516cbd8da 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.79.2.9 -r 1.79.2.10 src/mh.c; ) > 1.9.6cvs24.patchset
 ( cvs diff -u -r 1.395.2.65 -r 1.395.2.66 src/summaryview.c; ) > 1.9.6cvs25.patchset
 ( cvs diff -u -r 1.14.2.16 -r 1.14.2.17 src/plugins/trayicon/trayicon.c; ) > 1.9.6cvs26.patchset
+( cvs diff -u -r 1.654.2.479 -r 1.654.2.480 configure.ac; cvs diff -u -r 1.26.2.14 -r 1.26.2.15 src/foldersel.c; cvs diff -u -r 1.17.2.7 -r 1.17.2.8 src/send_message.c; cvs diff -u -r 1.13.2.11 -r 1.13.2.12 src/common/socket.c; cvs diff -u -r 1.2.2.6 -r 1.2.2.7 src/gtk/colorlabel.c; ) > 1.9.6cvs27.patchset
index 7f258726c12614b27ad405892938aad2e6bc5ac1..f845f2486765b90358ab7a0c77f3a4a453cf412e 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=6
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=26
+EXTRA_VERSION=27
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
@@ -124,7 +124,7 @@ AM_CONDITIONAL(OS_WIN32, test x"$os_win32" = x"yes")
 
 case "$target" in
 *-darwin*)
-       CFLAGS="$CFLAGS -traditional-cpp -fno-common"
+       CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
        ;;
 esac
   
index 3f6ee3e118e1feee64e410a61e9ae953d2519585..10aa081bbf75246c925da2bbe884174fe3c7f522 100644 (file)
@@ -1063,7 +1063,7 @@ gint fd_read(gint fd, gchar *buf, gint len)
 #if USE_OPENSSL
 gint ssl_read(SSL *ssl, gchar *buf, gint len)
 {
-       gint ret;
+       gint err, ret;
 
        if (SSL_pending(ssl) == 0) {
                if (fd_check_io(SSL_get_rfd(ssl), G_IO_IN) < 0)
@@ -1072,14 +1072,19 @@ gint ssl_read(SSL *ssl, gchar *buf, gint len)
 
        ret = SSL_read(ssl, buf, len);
 
-       switch (SSL_get_error(ssl, ret)) {
+       switch ((err = SSL_get_error(ssl, ret))) {
        case SSL_ERROR_NONE:
                return ret;
        case SSL_ERROR_WANT_READ:
        case SSL_ERROR_WANT_WRITE:
                errno = EAGAIN;
                return -1;
+       case SSL_ERROR_ZERO_RETURN:
+               return 0;
        default:
+               g_warning("SSL_read() returned error %d, ret = %d\n", err, ret);
+               if (ret == 0)
+                       return 0;
                return -1;
        }
 }
@@ -1358,7 +1363,7 @@ gint sock_puts(SockInfo *sock, const gchar *buf)
 #if USE_OPENSSL
 gint ssl_peek(SSL *ssl, gchar *buf, gint len)
 {
-       gint ret;
+       gint err, ret;
 
        if (SSL_pending(ssl) == 0) {
                if (fd_check_io(SSL_get_rfd(ssl), G_IO_IN) < 0)
@@ -1367,14 +1372,19 @@ gint ssl_peek(SSL *ssl, gchar *buf, gint len)
 
        ret = SSL_peek(ssl, buf, len);
 
-       switch (SSL_get_error(ssl, ret)) {
+       switch ((err = SSL_get_error(ssl, ret))) {
        case SSL_ERROR_NONE:
                return ret;
        case SSL_ERROR_WANT_READ:
        case SSL_ERROR_WANT_WRITE:
                errno = EAGAIN;
                return -1;
+       case SSL_ERROR_ZERO_RETURN:
+               return 0;
        default:
+               g_warning("SSL_peek() returned error %d, ret = %d\n", err, ret);
+               if (ret == 0)
+                       return 0;
                return -1;
        }
 }
index 67a904c2b07b9da1a4a985f88f39110afd8d22ab..a9706bb1a48f3d6ea634a56f0c750e03d0042371 100644 (file)
@@ -284,6 +284,7 @@ static void foldersel_create(void)
        gtk_tree_view_column_set_attributes(column, renderer,
                                            "text", FOLDERSEL_FOLDERNAME,
                                            NULL);
+       gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
 
        gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
 
index a7bafa3327a1f648511daff4a1b3d36f3a75f47e..c0f0d9421a57720b3a9a44e89e612f7e941ac88e 100644 (file)
@@ -35,6 +35,7 @@
 #include <gtk/gtkmenuitem.h>
 #include <gtk/gtkalignment.h>
 #include <gtk/gtkhbox.h>
+#include <gtk/gtkvbox.h>
 #include <gtk/gtkwindow.h>
 #include <gtk/gtkdrawingarea.h>
 
@@ -229,7 +230,7 @@ GtkWidget *colorlabel_create_check_color_menu_item(gint color_index)
 {
        GtkWidget *label; 
        GtkWidget *hbox; 
-       GtkWidget *align
+       GtkWidget *vbox
        GtkWidget *item;
 
        G_RETURN_VAL_IF_INVALID_COLOR(color_index, NULL);
@@ -242,22 +243,20 @@ GtkWidget *colorlabel_create_check_color_menu_item(gint color_index)
         * how to create pixmap menus */
        label = gtk_label_new(label_colors[color_index].label);
 
-       gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
        gtk_widget_show(label);
        hbox = gtk_hbox_new(FALSE, 0);
        gtk_widget_show(hbox);
        gtk_container_add(GTK_CONTAINER(item), hbox);
 
-       align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
-       gtk_widget_show(align);
-       gtk_container_set_border_width(GTK_CONTAINER(align), 1);
+       vbox = gtk_vbox_new(TRUE, 0);
+       gtk_widget_show(vbox);
+       gtk_container_set_border_width(GTK_CONTAINER(vbox), 1);
 
-       gtk_container_add(GTK_CONTAINER(align), label_colors[color_index].widget);
+       gtk_container_add(GTK_CONTAINER(vbox),
+                         label_colors[color_index].widget);
        gtk_widget_show(label_colors[color_index].widget);
-       gtk_widget_set_size_request(align, LABEL_COLOR_WIDTH, 
-                                   LABEL_COLOR_HEIGHT);
 
-       gtk_box_pack_start(GTK_BOX(hbox), align, FALSE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
        gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
 
        return item;
@@ -268,8 +267,6 @@ GtkWidget *colorlabel_create_check_color_menu_item(gint color_index)
 GtkWidget *colorlabel_create_color_menu(void)
 {
        GtkWidget *label; 
-       GtkWidget *hbox; 
-       GtkWidget *align; 
        GtkWidget *item;
        GtkWidget *menu;
        gint i;
@@ -287,29 +284,30 @@ GtkWidget *colorlabel_create_color_menu(void)
 
        /* and the color items */
        for (i = 0; i < LABEL_COLORS_ELEMS; i++) {
-               GtkWidget *widget = colorlabel_create_color_widget(label_colors[i].color);
+               GtkWidget *hbox; 
+               GtkWidget *vbox;
+               GtkWidget *widget;
 
                item  = gtk_menu_item_new();
-               g_object_set_data(G_OBJECT(item), "color", GUINT_TO_POINTER(i + 1));
+               g_object_set_data(G_OBJECT(item), "color",
+                                 GUINT_TO_POINTER(i + 1));
 
                label = gtk_label_new(label_colors[i].label);
                
-               gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
                gtk_widget_show(label);
                hbox = gtk_hbox_new(FALSE, 0);
                gtk_widget_show(hbox);
                gtk_container_add(GTK_CONTAINER(item), hbox);
 
-               align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
-               gtk_widget_show(align);
-               gtk_container_set_border_width(GTK_CONTAINER(align), 1);
+               vbox = gtk_vbox_new(TRUE, 0);
+               gtk_widget_show(vbox);
+               gtk_container_set_border_width(GTK_CONTAINER(vbox), 1);
 
-               gtk_container_add(GTK_CONTAINER(align), widget);
+               widget = colorlabel_create_color_widget(label_colors[i].color);
                gtk_widget_show(widget);
-               gtk_widget_set_size_request(align, LABEL_COLOR_WIDTH, 
-                                           LABEL_COLOR_HEIGHT);
+               gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, FALSE, 0);
 
-               gtk_box_pack_start(GTK_BOX(hbox), align, FALSE, FALSE, 0);
+               gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
                gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
                
                gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
index 55e1d817a8b0f5bef69da72c213bb95e6d8b69b9..4f8cca88c2868f27c16562e4af47147659004622 100644 (file)
@@ -407,6 +407,11 @@ gint send_message_smtp(PrefsAccount *ac_prefs, GSList *to_list, FILE *fp)
                        ac_prefs->tmp_smtp_pass = NULL;
                }
                ret = -1;
+       } else if (session->state == SESSION_EOF &&
+                  SMTP_SESSION(session)->state == SMTP_QUIT) {
+               /* consider EOF right after QUIT successful */
+               log_warning("%s\n", _("Connection closed by the remote host."));
+               ret = 0;
        } else if (session->state == SESSION_ERROR ||
                   session->state == SESSION_EOF ||
                   session->state == SESSION_TIMEOUT ||