[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: easy but may be suboptimal fixes for recent kmail crashes
From: "Christophe Prud'homme" <prudhomm () mit ! edu>
Date: 2003-06-30 16:58:59
[Download RAW message or body]
Hello
I experience since yesterday(with the freshest CVS actually) crashes in kmail
I looked a bit and I made the following two changes below
that solve my problems
it seems that some msg can be 0 sometimes
for me it fixes :
* crash during filtering
* crash when looking at an imap folder and switching to a non imap folder
* crash while deleting a file
Index: kmfolder.cpp
===================================================================
RCS file: /home/kde/kdepim/kmail/kmfolder.cpp,v
retrieving revision 1.270
diff -u -r1.270 kmfolder.cpp
--- kmfolder.cpp 28 Jun 2003 16:43:11 -0000 1.270
+++ kmfolder.cpp 30 Jun 2003 16:54:54 -0000
@@ -556,8 +556,11 @@
// Remove this message from all jobs' list it might still be on.
// setIndexEntry deletes the message.
KMMessage *msg = static_cast<KMMessage*>(mb);
- ignoreJobsForMessage( msg );
- return setIndexEntry( idx, msg );
+ if ( msg )
+ {
+ ignoreJobsForMessage( msg );
+ return setIndexEntry( idx, msg );
+ }
}
return 0;
Index: kmfolderimap.cpp
===================================================================
RCS file: /home/kde/kdepim/kmail/kmfolderimap.cpp,v
retrieving revision 1.111
diff -u -r1.111 kmfolderimap.cpp
--- kmfolderimap.cpp 26 Jun 2003 22:04:28 -0000 1.111
+++ kmfolderimap.cpp 30 Jun 2003 16:54:55 -0000
@@ -85,7 +85,7 @@
while (--idx >= 0) {
if ( mMsgList[idx]->isMessage() ) {
KMMessage *msg = static_cast<KMMessage*>(mMsgList[idx]);
- if (msg->transferInProgress())
+ if ( msg && msg->transferInProgress())
msg->setTransferInProgress( false );
}
}
@@ -441,7 +441,8 @@
if (!mb->isMessage()) readMsg(idx);
KMMessage *msg = static_cast<KMMessage*>(mb);
- deleteMessage(msg);
+ if ( msg )
+ deleteMessage(msg);
mLastUid = 0;
return KMFolderImapInherited::take(idx);
--
Christophe Prud'homme
Visiting Research Scientist in the Jacques Louis Lions Laboratory(Paris)
MIT - Research Scientist - Web: http://augustine.mit.edu/~prudhomm
Tel: +33 (0)1 44 27 71 97
Tel: +32 (0)2 734 8280
_______________________________________________
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