[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    [PATCH] bugfix 41757
From:       ville <vi64pa () koti ! soon ! fi>
Date:       2002-08-30 5:01:15
[Download RAW message or body]

Here is patch to 124 days old bug:=20

Bug#41757: Crashes when applying filters repeated times


["bug41757.diff" (text/x-diff)]

Index: kmheaders.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmheaders.cpp,v
retrieving revision 1.436
diff -u -3 -p -r1.436 kmheaders.cpp
--- kmheaders.cpp	25 Aug 2002 13:22:14 -0000	1.436
+++ kmheaders.cpp	30 Aug 2002 04:30:48 -0000
@@ -472,6 +472,7 @@ KMHeaders::KMHeaders(KMMainWin *aOwner, 
 #endif
 {
     static bool pixmapsLoaded = FALSE;
+  mMessageReady = true;
   //qInitImageIO();
   KImageIO::registerFormats();
   mOwner  = aOwner;
@@ -1204,6 +1205,7 @@ int KMHeaders::slotFilterMsg(KMMessage *
     assert( p == msg->parent() ); assert( idx >= 0 );
     p->unGetMsg( idx );
   }
+  mMessageReady = true;
   return filterResult;
 }
 
@@ -1254,6 +1256,9 @@ void KMHeaders::applyFiltersOnMsg(int /*
   KMMsgBase* msgBase;
   KMMessage* msg;
 
+  if (!mMessageReady)
+    return;
+
   emit maybeDeleting();
 
   disconnect(this,SIGNAL(currentChanged(QListViewItem*)),
@@ -1282,6 +1287,7 @@ void KMHeaders::applyFiltersOnMsg(int /*
     msg = mFolder->getMsg(idx);
     if ((mFolder->protocol() == "imap") && !msg->isComplete())
     {
+      mMessageReady = false;
       if (msg->transferInProgress()) continue;
       msg->setTransferInProgress(TRUE);
       KMImapJob *imapJob = new KMImapJob(msg);
Index: kmheaders.h
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmheaders.h,v
retrieving revision 1.110
diff -u -3 -p -r1.110 kmheaders.h
--- kmheaders.h	4 Jul 2002 21:05:42 -0000	1.110
+++ kmheaders.h	30 Aug 2002 04:30:49 -0000
@@ -318,6 +318,8 @@ private:
   /** These must replaced by something better! */
   static bool mTrue, mFalse;
 
+  bool mMessageReady;
+
   /** are we currently showing the size field? */
   bool showingSize;
 #ifdef SCORING

_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic