From 47d76f1dbf0a08db09b4a8f3563fdeb58bac752d Mon Sep 17 00:00:00 2001 From: Till Adam Date: Fri, 29 Jul 2005 12:22:24 +0000 Subject: [PATCH] Crash guards, as inspired by a patch by Gustavo Pichorim Boiko svn path=/branches/KDE/3.5/kdepim/; revision=439961 --- kmsender.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/kmsender.cpp b/kmsender.cpp index 91f436d34..86b97d573 100644 --- a/kmsender.cpp +++ b/kmsender.cpp @@ -561,8 +561,10 @@ void KMSender::doSendMsgAux() extractSenderToCCAndBcc( mCurrentMsg, &sender, &to, &cc, &bcc ); const QCString message = mCurrentMsg->asSendableString(); if ( sender.isEmpty() || !mSendProc->send( sender, to, cc, bcc, message ) ) { - mCurrentMsg->setTransferInProgress( false ); - mOutboxFolder->unGetMsg( mFailedMessages ); + if ( mCurrentMsg ) + mCurrentMsg->setTransferInProgress( false ); + if ( mOutboxFolder ) + mOutboxFolder->unGetMsg( mFailedMessages ); mCurrentMsg = 0; cleanup(); setStatusMsg(i18n("Failed to send (some) queued messages.")); @@ -638,7 +640,8 @@ void KMSender::slotIdle() // sending of message aborted if ( mCurrentMsg ) { mCurrentMsg->setTransferInProgress( false ); - mOutboxFolder->unGetMsg( mFailedMessages ); + if ( mOutboxFolder ) + mOutboxFolder->unGetMsg( mFailedMessages ); mCurrentMsg = 0; } msg = i18n("Sending aborted:\n%1\n" @@ -652,8 +655,10 @@ void KMSender::slotIdle() setStatusMsg( i18n( "Sending aborted." ) ); } else { if (!mSendProc->sendOk()) { - mCurrentMsg->setTransferInProgress( false ); - mOutboxFolder->unGetMsg( mFailedMessages ); + if ( mCurrentMsg ) + mCurrentMsg->setTransferInProgress( false ); + if ( mOutboxFolder ) + mOutboxFolder->unGetMsg( mFailedMessages ); mCurrentMsg = 0; mFailedMessages++; // Sending of message failed.