File r880534.diff of Package kdepim4
Subject: kmail: fix opening zip attachments
From: wstephenson@suse.de
Bug:
Patch-upstream: 880534
--- kmail/kmmsgpart.cpp (revision 880533)
+++ kmail/kmmsgpart.cpp (revision 880534)
@@ -315,7 +315,7 @@ QString KMMessagePart::iconName() const
kAsciiToLower( mimeType.data() );
QString fileName;
- KMimeType::Ptr mime = KMimeType::mimeType( mimeType );
+ KMimeType::Ptr mime = KMimeType::mimeType( mimeType, KMimeType::ResolveAliases );
if (mime) {
fileName = mime->iconName();
} else {
--- kmail/kmreaderwin.cpp (revision 880533)
+++ kmail/kmreaderwin.cpp (revision 880534)
@@ -2270,7 +2270,7 @@ void KMReaderWin::openAttachment( int id
// determine the MIME type of the attachment
KMimeType::Ptr mimetype;
// prefer the value of the Content-Type header
- mimetype = KMimeType::mimeType( QString::fromLatin1( contentTypeStr ) );
+ mimetype = KMimeType::mimeType( QString::fromLatin1( contentTypeStr ), KMimeType::ResolveAliases );
if ( mimetype.isNull() ) {
// consider the filename if mimetype can not be found by content-type
mimetype = KMimeType::findByPath( name, 0, true /* no disk access */ );
--- kmail/kmcommands.cpp (revision 880533)
+++ kmail/kmcommands.cpp (revision 880534)
@@ -2960,7 +2960,7 @@ KService::Ptr KMHandleAttachmentCommand:
// determine the MIME type of the attachment
KMimeType::Ptr mimetype;
// prefer the value of the Content-Type header
- mimetype = KMimeType::mimeType( contentTypeStr );
+ mimetype = KMimeType::mimeType( contentTypeStr, KMimeType::ResolveAliases );
if ( mimetype.isNull() ) {
// consider the filename if mimetype can not be found by content-type
mimetype = KMimeType::findByPath( mAtmName, 0, true /* no disk access */ );
--- kmail/kmmimeparttree.cpp (revision 880533)
+++ kmail/kmmimeparttree.cpp (revision 880534)
@@ -442,7 +442,7 @@ void KMMimePartTreeItem::setIconAndTextF
setText( columnType, i18n("Unspecified Binary Data") ); // do not show "Unknown"...
setIcon( columnDescription, QIcon( SmallIcon("application-octet-stream") ) );
} else {
- KMimeType::Ptr mtp = KMimeType::mimeType( mimetype );
+ KMimeType::Ptr mtp = KMimeType::mimeType( mimetype, KMimeType::ResolveAliases );
setText( columnType, ( mtp && !mtp->comment().isEmpty() ) ? mtp->comment() : mimetype );
setIcon( columnDescription, QIcon( mtp ? KIconLoader::global()->loadMimeTypeIcon(mtp->iconName(), KIconLoader::Small) : SmallIcon("unknown") ) );
}
--- kmail/kmmsgpartdlg.cpp (revision 880533)
+++ kmail/kmmsgpartdlg.cpp (revision 880534)
@@ -329,7 +329,7 @@ void KMMsgPartDialog::slotMimeTypeChange
}
#endif
// find a mimetype icon:
- KMimeType::Ptr mt = KMimeType::mimeType( mimeType );
+ KMimeType::Ptr mt = KMimeType::mimeType( mimeType, KMimeType::ResolveAliases );
if ( !mt.isNull() )
mIcon->setPixmap( KIconLoader::global()->loadMimeTypeIcon( mt->iconName(),
KIconLoader::Desktop ) );
--- kmail/objecttreeparser.cpp (revision 880533)
+++ kmail/objecttreeparser.cpp (revision 880534)
@@ -1811,7 +1811,7 @@ bool ObjectTreeParser::processApplicatio
mReader->mTempFiles.append( dir + QDir::separator() + att->name() );
QString href = "file:" + KUrl::toPercentEncoding( dir + QDir::separator() + att->name() );
- KMimeType::Ptr mimeType = KMimeType::mimeType( att->mimeTag() );
+ KMimeType::Ptr mimeType = KMimeType::mimeType( att->mimeTag(), KMimeType::ResolveAliases );
QString iconName = KIconLoader::global()->iconPath( mimeType->iconName(), KIconLoader::Desktop );
htmlWriter()->queue( "<div><a href=\"" + href + "\"><img src=\"" +
Index: kmail/kmmsgpart.cpp
===================================================================
Index: kmail/kmreaderwin.cpp
===================================================================
Index: kmail/kmcommands.cpp
===================================================================
Index: kmail/kmmimeparttree.cpp
===================================================================
Index: kmail/kmmsgpartdlg.cpp
===================================================================
Index: kmail/objecttreeparser.cpp
===================================================================