[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE_3_3_BRANCH: kdepim/kmail
From: Till Adam <adam () kde ! org>
Date: 2004-12-03 12:39:18
Message-ID: 20041203123918.A435E1B9DB () office ! kde ! org
[Download RAW message or body]
CVS commit by tilladam:
Backport proko2 fix for crashes when the source folder of a delete command
is prematurely closed.
M +11 -0 kmcommands.cpp 1.163.2.7
M +2 -0 kmcommands.h 1.46.2.5
--- kdepim/kmail/kmcommands.cpp #1.163.2.6:1.163.2.7
@@ -1871,4 +1871,9 @@ void KMMoveCommand::completeMove( Result
if ( mDestFolder )
mDestFolder->close();
+ while ( !mOpenedFolders.empty() ) {
+ KMFolder *folder = mOpenedFolders.back();
+ mOpenedFolders.pop_back();
+ folder->close();
+ }
if ( mProgressItem )
mProgressItem->setComplete();
@@ -1888,4 +1893,6 @@ KMDeleteMsgCommand::KMDeleteMsgCommand(
:KMMoveCommand( findTrashFolder( srcFolder ), msgList)
{
+ srcFolder->open();
+ mOpenedFolders.push_back( srcFolder );
}
@@ -1893,4 +1900,6 @@ KMDeleteMsgCommand::KMDeleteMsgCommand(
:KMMoveCommand( findTrashFolder( srcFolder ), msg)
{
+ srcFolder->open();
+ mOpenedFolders.push_back( srcFolder );
}
@@ -1902,4 +1911,6 @@ KMDeleteMsgCommand::KMDeleteMsgCommand(
kmkernel->msgDict()->getLocation( sernum, &srcFolder, &idx );
KMMsgBase *msg = srcFolder->getMsgBase( idx );
+ srcFolder->open();
+ mOpenedFolders.push_back( srcFolder );
addMsg( msg );
setDestFolder( findTrashFolder( srcFolder ) );
--- kdepim/kmail/kmcommands.h #1.46.2.4:1.46.2.5
@@ -7,4 +7,5 @@
#include <qptrlist.h>
#include <qvaluelist.h>
+#include <qvaluevector.h>
#include <kio/job.h>
#include "kmmsgbase.h" // for KMMsgStatus
@@ -658,4 +659,5 @@ protected:
void setDestFolder( KMFolder* folder ) { mDestFolder = folder; }
void addMsg( KMMsgBase *msg ) { mMsgList.append( msg ); }
+ QValueVector<KMFolder*> mOpenedFolders;
private:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic