File bnc730047_fix_kontact_crash_on_exit.diff of Package kdepim4.openSUSE_12.1
Subject: Fix kontact crash on exit
From: Allen Winter <allen.winter@kdab.com>
Signed-Off-By: Christian Trippe <ctrippe@opensuse.org>
Bug: bnc#730047
Patch-upstream: kde >= 4.7.4
commit c0659da0186a637ba62ff0449e0d0f77d84b4170
Author: Allen Winter <allen.winter@kdab.com>
Date: Sat Nov 12 09:36:57 2011 -0500
Backport:
In slotSendQueued() and slotSendQueuedVia(), make sure msgSender()
is non-empty to prevent crashes.
In slotSendQueuedVia(), make sure the availTransports list isn't empty
to prevent crashes.
CCBUG: 280649
FIXED-IN: 4.7.4
diff --git a/kmail/kmmainwidget.cpp b/kmail/kmmainwidget.cpp
index faff305..877d92a 100644
--- a/kmail/kmmainwidget.cpp
+++ b/kmail/kmmainwidget.cpp
@@ -2476,7 +2476,9 @@ void KMMainWidget::slotSendQueued()
return;
}
- kmkernel->msgSender()->sendQueued();
+ if ( kmkernel->msgSender() ) {
+ kmkernel->msgSender()->sendQueued();
+ }
}
//-----------------------------------------------------------------------------
@@ -2487,8 +2489,11 @@ void KMMainWidget::slotSendQueuedVia( QAction* item )
}
const QStringList availTransports= MailTransport::TransportManager::self()->transportNames();
- if (availTransports.contains(item->text()))
- kmkernel->msgSender()->sendQueued( item->text() );
+ if ( !availTransports.isEmpty() && availTransports.contains( item->text() ) ) {
+ if ( kmkernel->msgSender() ) {
+ kmkernel->msgSender()->sendQueued( item->text() );
+ }
+ }
}
//-----------------------------------------------------------------------------