Hi,
        I've sent the below patch and report to the kde bug mentioned earlier.  
They 
haven't yet confirmed my original bug....

        The KMFolder destructor calls 
FolderStorage::deregisterFromMessageDict() and this causes the .index.ids
file to be written to disk again after kmail originally deleted it.
        This can be avoided if "mExportsSernums = false;" after the .index.ids
file is deleted in FolderStorage::remove().
        This works because just before writing the .index.ids the code 
(FolderStorage::writeFolderIdsFile()) does not write the .index.ids file 
if mExportsSernums == false.


folderstorage.cpp
--------------------------------------------------------
void FolderStorage::remove()

   if ( mExportsSernums )
+  {
     KMMsgDict::mutableInstance()->removeFolderIds( *this );
+    mExportsSernums = false;   // do not writeFolderIds after removal
+  }
--------------------------------------------------------

Thanks!
        C.
--- folderstorage.cpp.old	2007-02-02 14:41:51.000000000 -0500
+++ folderstorage.cpp	2007-02-02 14:42:50.000000000 -0500
@@ -724,7 +724,10 @@
   close(true);
 
   if ( mExportsSernums )
+  {
     KMMsgDict::mutableInstance()->removeFolderIds( *this );
+    mExportsSernums = false;	// do not writeFolderIds after removal
+  }
   unlink(QFile::encodeName(indexLocation()) + ".sorted");
   unlink(QFile::encodeName(indexLocation()));
 

Reply via email to