2004-10-01 [colin] 0.9.12cvs118
authorColin Leroy <colin@colino.net>
Fri, 1 Oct 2004 12:00:22 +0000 (12:00 +0000)
committerColin Leroy <colin@colino.net>
Fri, 1 Oct 2004 12:00:22 +0000 (12:00 +0000)
* src/mimeview.c
Better fix for Save all: skip multipart mails' first
text part

ChangeLog.claws
PATCHSETS
configure.ac
src/mimeview.c

index 4328457..ecd193b 100644 (file)
@@ -1,3 +1,9 @@
+2004-10-01 [colin]     0.9.12cvs118
+
+       * src/mimeview.c
+               Better fix for Save all: skip multipart mails' first 
+               text part
+
 2004-10-01 [colin]     0.9.12cvs117
 
        * src/mimeview.c
index c61fc3f..8ec8936 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.36 -r 1.37 src/stock_pixmap.c; cvs diff -u -r 1.25 -r 1.26 src/stock_pixmap.h; cvs diff -u -r 1.248 -r 1.249 src/folderview.c; cvs diff -u -r 1.186 -r 1.187 src/Makefile.am; cvs diff -u -r 0 -r 1 src/pixmaps/read.xpm; ) > 0.9.12cvs115.patchset
 ( cvs diff -u -r 1.443 -r 1.444 ChangeLog; cvs diff -u -r 1.438 -r 1.439 ChangeLog.jp; cvs diff -u -r 1.73 -r 1.74 src/account.c; cvs diff -u -r 1.227 -r 1.228 src/prefs_common.c; cvs diff -u -r 1.3 -r 1.4 src/gtk/colorlabel.c; ) > 0.9.12cvs116.patchset
 ( cvs diff -u -r 1.126 -r 1.127 src/mimeview.c; ) > 0.9.12cvs117.patchset
+( cvs diff -u -r 1.127 -r 1.128 src/mimeview.c; ) > 0.9.12cvs118.patchset
index 9b87301..ca74d97 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=12
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=117
+EXTRA_VERSION=118
 EXTRA_RELEASE=
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
index 809c7df..43dfe4d 100644 (file)
@@ -1067,10 +1067,19 @@ static void mimeview_save_all(MimeView *mimeview)
        if (dirname[strlen(dirname)-1] == G_DIR_SEPARATOR)
                dirname[strlen(dirname)-1] = '\0';
 
+       /* Skip the first part, that is sometimes DISPOSITIONTYPE_UNKNOWN */
+       if (partinfo && partinfo->type == MIMETYPE_MESSAGE)
+               partinfo = procmime_mimeinfo_next(partinfo);
+       if (partinfo && partinfo->type == MIMETYPE_MULTIPART) {
+               partinfo = procmime_mimeinfo_next(partinfo);
+               if (partinfo && partinfo->type == MIMETYPE_TEXT)
+                       partinfo = procmime_mimeinfo_next(partinfo);
+       }
+
        while (partinfo != NULL) {
                if (partinfo->type != MIMETYPE_MESSAGE &&
                    partinfo->type != MIMETYPE_MULTIPART &&
-                   partinfo->disposition == DISPOSITIONTYPE_ATTACHMENT) {
+                   partinfo->disposition != DISPOSITIONTYPE_INLINE) {
                        gchar *filename = mimeview_get_filename_for_part
                                (partinfo, dirname, number++);