[Bug 143869] crash with new copy folder function

Volker Krause vkrause at kde.org
Wed Jul 18 13:33:23 BST 2007


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=143869         
vkrause kde org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From vkrause kde org  2007-07-18 14:33 -------
SVN commit 689500 by vkrause:

Backport commits 688956 and 689037 from enterprise branch (crash
fixes for folder moving).

I'm aware that this breaks the message freeze, but an untranslated error
message seems to be a better option than a potentially dangerous crash.

BUG: 143869


 M  +7 -0      kmcommands.cpp  
 M  +6 -0      kmfoldertree.cpp  


--- branches/KDE/3.5/kdepim/kmail/kmcommands.cpp #689499:689500
 @ -1935,6 +1935,13  @
       idx = srcFolder->find(msgBase);
       assert(idx != -1);
       msg = srcFolder->getMsg(idx);
+      // corrupt IMAP cache, see FolderStorage::getMsg()
+      if ( msg == 0 ) {
+        KMessageBox::error( parentWidget(), i18n("Corrupt IMAP cache detected in folder %1. "
+            "Copying of messages aborted.").arg( srcFolder->prettyURL() ) );
+        deleteLater();
+        return Failed;
+      }
     }
 
     if (srcFolder && mDestFolder &&
--- branches/KDE/3.5/kdepim/kmail/kmfoldertree.cpp #689499:689500
 @ -2031,6 +2031,12  @
     }
   }
 
+  // de-select moved source folders (can cause crash due to unGetMsg() in KMHeaders)
+  if ( move ) {
+    doFolderSelected( indexOfFolder( destination ), false );
+    oldCurrent = currentItem();
+  }
+
   // do the actual move/copy
   for ( QValueList<QGuardedPtr<KMFolder> >::ConstIterator it = sources.constBegin(); it != sources.constEnd(); ++it ) {
     KMFolder* source = *it;



More information about the Kdepim-bugs mailing list