for the new kDebug/kError/kWarning/kFatal syntax.
You can use the following command to find 'old' code:
egrep -r -A 5 '(kDebug|kError|kWarning|kFatal).*' * | grep -v ".svn" | grep "<< *endl;"
svn path=/trunk/KDE/kdepim/; revision=695781
SVN commit 633012 by mkoller:
Related to BUG# 71549
Make sure that a corrupted .ids file does not allocate huge amount
of memory by checking consistency of file length vs. number of
items expected.
The patch does not cure the original problem why the ids
file has corrupt content. I could not find a way how this can happen
up till now
svn path=/branches/kdepim/enterprise/kdepim/; revision=667597
Make sure that a corrupted .ids file does not allocate huge amount
of memory by checking consistency of file length vs. number of
items expected.
The patch does not cure the original problem why the ids
file has corrupt content. I could not find a way how this can happen
up till now
svn path=/trunk/KDE/kdepim/; revision=633013
Make sure that a corrupted .ids file does not allocate huge amount
of memory by checking consistency of file length vs. number of
items expected.
The patch does not cure the original problem why the ids
file has corrupt content. I could not find a way how this can happen
up till now
svn path=/branches/KDE/3.5/kdepim/; revision=633012
530060:
--------------
Fix the following problems as indicated by Christoph Bartoschek in kde-pim:
- kmail/imapjob.cpp:240
- kmail/imapjob.cpp:262 (similar)
If account is NULL as indicated by line 226, then line 240 crashes.
- kmail/imapjob.cpp:104
If msg_parent is NULL as indicated by line 90, then line 104 crashes.
530074:
--------------
Second batch of fixes related to Christoph Bartoschek's report in kde-pim:
- kmail/kmfoldercachedimap.cpp:1749
If the if conditions in line 1741 and 1745 are both false, then line 1749 crashes.
- kmail/kmfoldertree.cpp:1480
If fti is NULL as indicated by line 1475, then line 1480 crashes.
- kmail/kmfoldertree.cpp:164
If mFolder is NULL as indicated by line 154, then line 154, 160 crash.
- kmail/kmfoldertree.cpp:143
If mFolder is NULL as indicated by line 136, then line 143 crashes.
- kmail/kmfoldertree.cpp:1549
If folder is NULL as indicated by line 1537, then line 1549 crashes.
The last bug is only partially fixed, the whole KMFolderTree::slotUpdateCounts(KMFolder * folder)
function could use a rewrite.
530119:
------------
Third batch of fixes related to Christoph Bartoschek's email in kde-pim:
- kmail/imapaccountbase.cpp:1102
If line 1092 gets executed and also 1102, then the second crashes.
- kmail/kmmsgdict.cpp:248
If folder is NULL as indicated by line 244, then line 248 crashes.
- kmail/kmmsgdict.cpp:214
If folder is NULL as indicated by line 208, then line 214,225, crashes.
- kmail/renamejob.cpp:64
If storage is NULL as indicated by line 57, then line 62 crashes.
Lines where the operator preference between & and == leads to an error.
- kmail/kmmsgbase.cpp:873
- kmail/kmfolderimap.cpp:876
If f is NULL as indicated by line 869, then line 876 crashes.
- kmail/kmsender.cpp:362
If sentFolder is NULL as indicated by line 340, then line 362, 367
crashes.
Thanks to Christoph for working on this.
svn path=/trunk/KDE/kdepim/; revision=532932
- kmail/imapaccountbase.cpp:1102
If line 1092 gets executed and also 1102, then the second crashes.
- kmail/kmmsgdict.cpp:248
If folder is NULL as indicated by line 244, then line 248 crashes.
- kmail/kmmsgdict.cpp:214
If folder is NULL as indicated by line 208, then line 214,225, crashes.
- kmail/renamejob.cpp:64
If storage is NULL as indicated by line 57, then line 62 crashes.
Lines where the operator preference between & and == leads to an error.
- kmail/kmmsgbase.cpp:873
- kmail/kmfolderimap.cpp:876
If f is NULL as indicated by line 869, then line 876 crashes.
- kmail/kmsender.cpp:362
If sentFolder is NULL as indicated by line 340, then line 362, 367
crashes.
Thanks to Christoph for working on this.
svn path=/branches/KDE/3.5/kdepim/; revision=530119
QMAX/QMIN -> qMax/qMin
I don't know what to do about Q_LONG and Q_ULONG because of the following code in qglobal.h:
#if defined(Q_OS_WIN64)
typedef __int64 Q_LONG; /* word up to 64 bit signed */
typedef unsigned __int64 Q_ULONG; /* word up to 64 bit unsigned */
#else
typedef long Q_LONG; /* word up to 64 bit signed */
typedef unsigned long Q_ULONG; /* word up to 64 bit unsigned */
#endif
Should I simply convert to (unsigned) long?
svn path=/trunk/KDE/kdepim/; revision=468393
were "saved" to kmailrc, but kmailrc wasn't synced, so in case of a kmail crash, X crash, power failure, kernel oops...
the settings would be lost, and on the next kmail restart very strange errors would happen when syncing
(can't create folder, folder already there, folder missing, etc.)
The solution: sync(). But while being at it I implemented buffering of sync requests
which was a TODO in kmkernel, but did it in GlobalSettings as Till suggested;
which in turn means we need our own GlobalSettings inheriting GlobalSettingsBase,
and the code lacked ::self()-> in many places to allow that.
srcdir!=builddir users: don't forget to delete globalsettings.{cpp,h} from the builddir
since it's not generated anymore!
CCMAIL: kmail-devel@kde.org
svn path=/trunk/KDE/kdepim/; revision=432538
were "saved" to kmailrc, but kmailrc wasn't synced, so in case of a kmail crash, X crash, power failure, kernel oops...
the settings would be lost, and on the next kmail restart very strange errors would happen when syncing
(can't create folder, folder already there, folder missing, etc.)
The solution: sync(). But while being at it I implemented buffering of sync requests
which was a TODO in kmkernel, but did it in GlobalSettings as Till suggested;
which in turn means we need our own GlobalSettings inheriting GlobalSettingsBase,
and the code lacked ::self()-> in many places to allow that.
svn path=/branches/kdepim/proko2/kdepim/; revision=432536
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
o remove access to the reverse per folder message dict entries from the
folder interface. It's in FolderStorage and accessed through there
svn path=/trunk/KDE/kdepim/; revision=427075
into an imap folder.
As per the "PATCH: KMFolderImap::slotGetMessagesData discrepancy"
discussion on the kmail-devel list.
I've tested it for weeks now without noticing any problems.
svn path=/trunk/kdepim/; revision=365366
total number of messages and store it in a secret config key and then
retrieve that on the next invocation of KMail and use it to initialize
the dict size to nextPrime( lastSizeHint * 1.1 ).
The fancy math is due to I. Kloecker, who is reportedly good with numbers,
so I'll just take his word for it. ;)
svn path=/trunk/kdepim/; revision=299657
msg dict. Unlike replace() it does not check for already existing entries
with the same serial number, as the calling code ensures that is not
the case. Makes KMail start a bit faster.
svn path=/trunk/kdepim/; revision=299586
1) Remove the limitation that a message can have only one status at a time.
2) Implement watch/ignore thread via message status flags.
ad 1:
- Message status is now kept as a bitfield, which means a message can now be
for example replied and forwarded as well as important at the same time.
- To keep the index format backward compatible and make the transition
painless, I've added a new index entry and added code to transfer the old
into the new format. That means that upgrading users should not notice
anything.
- I've tried to keep as much behavior as possible unchanged with regard to
what flag disables what other flag etc. There are two groups of flags:
read/unread/new/old influence each other, which means a message cannot be
new and read at the same time, for example, while the second group, namely
important, sent, queued, replied, and forwarded are toggled individually.
- Toggling a thread sets the messages status to the inverse of that of the
parent, which means that if you have a thread with some mails marked as
important and some not, the status is set according to that of the parent.
- Status is now kept when moving mails between folders in the same imap
account as well as between imap accounts.
ad 2:
- Watch and ignore are mutually exclusive, which means ignoring a thread
unsets its watched flag and the other way around.
- When sorting by status watched threads are at the top, ignored at the
bottom.
- Watch and ignore propagate via threading, which means that if a message
is threaded below a watched one, it becomes watched. Same for ignore.
- Moving a single mail out of a watched thread results in a new watched
thread of size 1 :)
- Similarly watch and ignore are possible on individual mail (threads
to be).
- Watching a thread does not currently mark new mails as important, nor
does ignoring delete new mails in the thread. These are possible
extensions, though, if we think them sensible.
svn path=/trunk/kdepim/; revision=235595
This is a set of changes that is well test by myself and others.
The following bug fixes amongst others are included:
Compilation fix: the certificate dialog now compiles
Mjr bugfix: Prevent mail loss when kmail crashes while editing a
drafts message
Mjr bugfix: Fix erratic folder changing when clicking on the folder
tree
Mjr bugfix: Prevent mail loss when applying filters
The follow features have been implemented:
* KMail is now a KPart and can be embedded in the Kontact/Kaplan
container applications along with other KDE PIM applications.
* Remove duplicates function for removing duplicate messages in
a folder.
* Messages can be dragged and dropped on a composer window to
add those messages as attachments.
* Deletion in threaded mode is improved, child messages will no
longer be scattered when a parent is deleted.
* Multiple messages can now be selected in the search dialog.
* New context menu in the search dialog with Move, Copy, Reply
etc. actions for operating on selected messages.
* Search criteria in the search dialog now supports more types
of rules and a variable number of rules.
* Faster searching of large messsages.
* 'Search Folders' which are a KMail folder that stores a search
expression and is dynamically updated (also known as virtual
folders).
* The separate window for reading mail has a context menu with
Reply, Copy etc. actions for operating on the message
displayed.
* The separate window for reading mail has a tool bar.
* Startup of KMail is faster.
* Switching between folders is faster.
* The contents of all composer windows are saved to disk on
composer window creation and then periodically saved to
prevent mail loss in the result of a system crash.
* The state of KMail folders is saved to disk periodically to
prevent status information loss in the result of a system
crash.
Note after start KMail switching to folders for the first time will
slow as the format of the .sorted file has changed.
Enjoy!
svn path=/trunk/kdenetwork/kmail/; revision=195825