keeping the msginfo pointer around in the message object, and restoring it on
unGet. Should help with a whole class of crashes around filtering, searching
etc. Original patch by Ingo and Andreas, with some fixes and memleak plugs
in corner cases by me. We'll testdrive this a while in enterprise branch, let's
see how it behaves.
CCMAIL: a.gungl@gmx.de
CCMAIL: ingo@kde.org
svn path=/branches/kdepim/enterprise/kdepim/; revision=694327
SVN commit 662110 by wstephens:
3.5+ version of Till's dimap mail loss fix, see r662047
For reference :
SVN commit 662047 by tilladam:
Apply ported version of the mail loss debugging and explicit deletions patch,
which I've been developing with the help of some adventurous users. Thanks!
This tracks all deletions that happen through user actions and adds a check
to the sync making sure that only things that were explicitely deleted
are removed during sync. If unsure, the sync now re-downloads (duplicates)
instead of removing mails, which should be safer. Also adds a lot of
conditional debugging and refactors open/close to duplicate less code.
Will has a ported version of this for 3.x, which will go into pim+ shortly.
SVN commit 678604 by tilladam:
Clear the cache of explicitely deleted uids early enough, right after successful
deletion on the server, so messages taken during getting of messages (because of
filtering) are properly remembered. Fixes kolab/issue1792.
svn path=/branches/KDE/3.5/kdepim/; revision=680182
kmail. Add the ability to use a configurable color for the
folder name and size when it is close to a configurable quota
threshold (provided the folder has quota info in the first
place). Implement size retrieval for mbox and maildir storage.
(prokde35 w1-6)
svn path=/branches/kdepim/enterprise/kdepim/; revision=669156
which I've been developing with the help of some adventurous users. Thanks!
This tracks all deletions that happen through user actions and adds a check
to the sync making sure that only things that were explicitely deleted
are removed during sync. If unsure, the sync now re-downloads (duplicates)
instead of removing mails, which should be safer. Also adds a lot of
conditional debugging and refactors open/close to duplicate less code.
Will has a ported version of this for 3.x, which will go into pim+ shortly.
svn path=/branches/kdepim/enterprise/kdepim/; revision=662047
This obviously reintroduces issue661, "forwarding emails can produce bad signature", which will have to be fixed another way once I get more infos about it.
Also remove getMsgString from all folder classes, since it's now unused; getDwString is used instead.
svn path=/branches/kdepim/enterprise/kdepim/; revision=650094
Improve speed (mainly killing the reparsing which was done in KMMessage::asSendableString())
Kolab issue 1222
svn path=/branches/KDE/3.5/kdepim/; revision=633978
Improve speed (mainly killing the reparsing which was done in KMMessage::asSendableString())
Kolab issue 1222
svn path=/branches/kdepim/enterprise/kdepim/; revision=633977
Suppose headers charset from content-type header if headers not
properly encoded. If content-type charset is "us-ascii", use "utf-8"
instead. Write maildir and mbox indexes in right encoding.
BUGS:98079
svn path=/branches/KDE/3.5/kdepim/; revision=614058
sed 's/59 Temple Place - Suite 330, Boston, MA 02111-1307/51 Franklin Street, Fifth Floor, Boston, MA 02110-1301/'
PS: I didn't touch the kalarm dir, since david seems to update the address himself, and I don't want to create conflicts for him.
CCMAIL:lists@astrojar.org.uk
svn path=/trunk/KDE/kdepim/; revision=437921
the helper function crlf2lf there, which was formerly a class static in
FolderStorage. Remove the now obsolete forward Folder -> Folderstorage
and port all users.
svn path=/trunk/KDE/kdepim/; revision=435216
it, if there is no physical folder yet. Code creating (instantiating)
KMFolders does not need to care. Remove the ugly "bool imap" parameter
from create() and do proper reimplementation instead. Remove create()
forward from KMFolder -> FolderStorage.
This fixes "no such file or folder" warnings when creating or syncing
down new folders.
In case you missed it, today is Zack's birthday, so show the man some
love, will ya?
svn path=/trunk/KDE/kdepim/; revision=430989
handling and index handling.
o Make it possible to have folders that optionally have no index
and/or don't export their serial numbers to the message dict. This
was partly possible before, but relying on all kinds of implicit (and
often wrong) assumptions as to the presence and state of various
datastructures and files on disk.
o [TRUE|FALSE] => [true|false] (sorry about mixing this in)
o group a bunch of bools and use a bit for each to save memory
o remove index related forwards folder -> folderstorage
o api dox additions
Fixed the crashes with local and maildir accounts in the process, I
think.
BUG: 108386
svn path=/trunk/KDE/kdepim/; revision=430817
fooFolderIdsFile from fooMsgDict, to make the distinction somewhat
clearer
o move the only folder ids handling function not implemented in
FolderStorage to there and out of KMFolderIndex, which also means
it does not have to be virtual
o clarify comments and api dox
svn path=/trunk/KDE/kdepim/; revision=428615
here: http://lists.kde.org/?l=kmail-devel&m=111945756024656&w=2
I've changed the KMMsgDict::instance() to return a pointer instead of a
reference, compared to the patch I posted, after valid criticism from
Marc that the pattern is generally used with a pointer, in KDE, so it's
better not to surprise people here.
svn path=/trunk/KDE/kdepim/; revision=428560
when simply opening mail folders) : don't look for the serial numbers
of messages that haven't been inserted into a folder yet, it can't find one,
and it's slow every time. Note that assign() is only called on construction
(or soon after), never on totally-unrelated instances.
svn path=/trunk/kdepim/; revision=361937
make folder readonly if locking failed.
The old code was broken because isReadOnly would return true if the folder
wasn't open (so no locking was attempted yet). The new code doesn't do that anymore.
svn path=/trunk/kdepim/; revision=320493
* When the user requests compaction of a folder from the RMB, always compact
(even if !needsCompaction), and ensure the final statusbar message shows up
(due to kmheaders polluting it, I had to save/restore it in 2 places).
* When compacting outbox after sending mails, don't tell the user.
This made me stumble upon strange code in kmsender.cpp: if count<0, expunge.
Ingo and I agree that this was meant to be if count==0, expunge.
svn path=/trunk/kdepim/; revision=319419
mbox and maildir folders in the background.
This fixes compaction not happening in kontact at all, and not happening
either for cached imap folders in kmail. It also makes kmail exit faster.
svn path=/trunk/kdepim/; revision=314475
instead of "on exit" (which made it non-working in kontact, with session management etc.)
GUI: removed the "Warn before expiring messages" and "On Exit: Expire old messages" options.
Tasks are filed with the jobscheduler, and the job for that task is started
only if the folder isn't opened - so this needed some special handling of search
folder (asking them to try releasing a given folder) and some fixes relative to
open() and close() calls, in kmfoldercachedimap and kmfoldersearch in particular.
Don: please check the kmfoldersearch.cpp changes, in particular the added close()
CCMAIL: sanders@kde.org
svn path=/trunk/kdepim/; revision=310272
You don't need getMsg anymore for the UID and LOD can check the size without loading the header.
I updated the online imap folder but dimap should also use the new code.
svn path=/trunk/kdepim/; revision=288206
This is done by using a stricter message seperator regular expression.
Additionally to this bug, "From " escaping was defunct which is a pretty grave bug because it can easily lead to corrupt mboxes if the index of an mbox has to be regenerated.
Both patches by Andreas Pfaller.
svn path=/trunk/kdepim/; revision=283979