From 58c6adabd4fd984536281c34f1641873528ca63a Mon Sep 17 00:00:00 2001 From: Allen Winter <winter@kde.org> Date: Mon, 12 Oct 2015 15:32:33 -0400 Subject: [PATCH 14/74] attachmentcontrollerbase.cpp - don't crash in showContextMenu() if KMimeType::mimeType() returns 0, which can happen. REVIEW: 125609 MERGE: safe to merge up to modern versions --- messagecomposer/attachment/attachmentcontrollerbase.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/messagecomposer/attachment/attachmentcontrollerbase.cpp b/messagecomposer/attachment/attachmentcontrollerbase.cpp index 2e45d19829..5c704ad5a0 100644 --- a/messagecomposer/attachment/attachmentcontrollerbase.cpp +++ b/messagecomposer/attachment/attachmentcontrollerbase.cpp @@ -619,13 +619,18 @@ void AttachmentControllerBase::showContextMenu() if(numberOfParts>0) { if (numberOfParts == 1) { const QString mimetype = QString::fromLatin1(d->selectedParts.first()->mimeType()); - const QStringList parentMimeType = KMimeType::mimeType( mimetype )->allParentMimeTypes(); - if ((mimetype == QLatin1String("text/plain")) || + QStringList parentMimeTypes; + const KMimeType::Ptr kmimetypePtr = KMimeType::mimeType( mimetype ); + if ( kmimetypePtr ) { + parentMimeTypes = kmimetypePtr->allParentMimeTypes(); + } + if (parentMimeTypes.isEmpty() || + (mimetype == QLatin1String("text/plain")) || (mimetype == QLatin1String("image/png")) || (mimetype == QLatin1String("image/jpeg")) || - parentMimeType.contains(QLatin1String("text/plain")) || - parentMimeType.contains(QLatin1String("image/png")) || - parentMimeType.contains(QLatin1String("image/jpeg")) + parentMimeTypes.contains(QLatin1String("text/plain")) || + parentMimeTypes.contains(QLatin1String("image/png")) || + parentMimeTypes.contains(QLatin1String("image/jpeg")) ) { menu->addAction(d->viewContextAction); } -- 2.14.1