diff --git a/bodyvisitor.cpp b/bodyvisitor.cpp index eb7013887..d64cf21b1 100644 --- a/bodyvisitor.cpp +++ b/bodyvisitor.cpp @@ -105,10 +105,12 @@ namespace KMail { // load the part itself part->setLoadPart( true ); } - selected.append( part ); } - if ( parentNeedsLoading( part ) ) + if ( !part->partSpecifier().endsWith(".HEADER") ) part->setLoadHeaders( true ); // load MIME header + + if ( part->loadHeaders() || part->loadPart() ) + selected.append( part ); } return selected; } diff --git a/kmfolderimap.cpp b/kmfolderimap.cpp index 121998913..e2856ade8 100644 --- a/kmfolderimap.cpp +++ b/kmfolderimap.cpp @@ -1007,11 +1007,7 @@ KMFolderImap::doCreateJob( KMMessage *msg, FolderJob::JobType jt, // download complete message or part (attachment) if ( partSpecifier == "STRUCTURE" ) // hide from outside partSpecifier = QString::null; - if ( !partSpecifier.isEmpty() ) - { - ImapJob *job = new ImapJob( msg, jt, kmfi, partSpecifier+".MIME" ); - job->start(); - } + ImapJob *job = new ImapJob( msg, jt, kmfi, partSpecifier ); return job; }