Bug 103287

Summary: KMail expire time arbitrarily changed
Product: [Applications] kmail Reporter: Joshua Tinnin <krinklyfig>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: FreeBSD Ports   
OS: FreeBSD   
Latest Commit: Version Fixed In:

Description Joshua Tinnin 2005-04-05 15:11:19 UTC
Version:            (using KDE KDE 3.4.0)
Installed from:    FreeBSD Ports
Compiler:          gcc version 3.4.2 [FreeBSD] 20040728 standard i386 architecture build, qt-3.3.4, w/ CPUTYPE?=athlon-xp in my /etc/make.conf
OS:                FreeBSD

This is with a folder nested about four deep ... If I set it to delete the messages, and the expire date to 180 days, read and unread, both checked, it will change to 5580 days read, checked, 30 days unread, not checked, once I switch to another folder then switch back. It appears this is not an issue if a folder is selected in the "Move to" selection, even though it isn't used to delete messages permanently. This was blank by default when I opened the dialog. I can't reproduce this and get the "Move to" selection to be blank anymore, though I suspect that is what is causing the issue.
Comment 1 Steve-Kai Vyska 2006-09-22 12:29:11 UTC
Hallo,

I have the same error found on my system. Interesing is, that if you create an folder, than set it to the number of days you want, close Kmail and resart it, it is gone for this folder as long as you don't change anything, then it starts againe.

Steve
Comment 2 Albert Astals Cid 2006-10-28 19:04:45 UTC
SVN commit 599816 by aacid:

Need to store config when changing units, if not very bad things happen
BUGS: 103287


 M  +2 -0      kmfolder.cpp  


--- branches/KDE/3.5/kdepim/kmail/kmfolder.cpp #599815:599816
@@ -700,6 +700,7 @@
 {
   if (units >= expireNever && units < expireMaxUnits)
     mUnreadExpireUnits = units;
+    mStorage->writeConfig();
 }
 
 void KMFolder::setReadExpireAge( int age )
@@ -714,6 +715,7 @@
 {
   if (units >= expireNever && units <= expireMaxUnits)
     mReadExpireUnits = units;
+    mStorage->writeConfig();
 }