forward port fixes in the async filtering

svn path=/trunk/KDE/kdepim/; revision=486144
wilder-work
Andreas Gungl 21 years ago
parent c75bd10c7b
commit 17e5481587
  1. 7
      actionscheduler.cpp
  2. 7
      kmfilteraction.cpp

@ -656,8 +656,11 @@ void ActionScheduler::moveMessage()
if (!orgMsg || !orgMsg->parent()) {
// Original message is gone, no point filtering it anymore
mSrcFolder->removeMsg( mSrcFolder->find( msg ) );
kdDebug(5006) << "The original serial number is missing. "
<< "Cannot complete the filtering." << endl;
mExecutingLock = false;
processMessageTimer->start( 0, true );
return;
} else {
if (!folder) // no filter folder specified leave in current place
folder = orgMsg->parent();
@ -669,7 +672,7 @@ void ActionScheduler::moveMessage()
mSrcFolder->addMsg( msg );
mIgnore = false;
if (msg && kmkernel->folderIsTrash( folder ))
if (msg && folder && kmkernel->folderIsTrash( folder ))
KMFilterAction::sendMDN( msg, KMime::MDN::Deleted );
timeOutTime = QTime::currentTime();
@ -732,8 +735,6 @@ void ActionScheduler::moveMessageFinished( KMCommand *command )
void ActionScheduler::copyMessageFinished( KMCommand *command )
{
// FIXME remove the debug output
kdDebug(5006) << "##### ActionScheduler::copyMessageFinished( KMCommand *command )" << endl;
if ( command->result() != KMCommand::OK )
actionMessage( KMFilterAction::ErrorButGoOn );
else

@ -1647,7 +1647,14 @@ class PipeJob : public KPIM::ThreadWeaver::Job
pclose(p);
if ( !ba.isEmpty() ) {
KPIM::ThreadWeaver::debug (1, "PipeJob::run: %s", QString(ba).latin1() );
KMFolder *filterFolder = mMsg->parent();
mMsg->fromByteArray( ba );
if ( filterFolder ) {
filterFolder->take( filterFolder->find( mMsg ) );
filterFolder->addMsg( mMsg );
} else {
kdDebug(5006) << "Warning: Cannot refresh the message from the external filter." << endl;
}
}
KPIM::ThreadWeaver::debug (1, "PipeJob::run: done.\n" );

Loading…
Cancel
Save