Make sure quiet() is reset in all error paths. If this is not ensured, the

newly arrived mail headers will be added to the local store but the headers
list not updated as that happens according to the following scheme:

o set folder quiet++
o get a bunch of headers and add them to the store without updating
o when the last mail comes in set folder quiet--
o quiet == 0 and as a result of that emit the folder's changed signal which
  updates the headers

Now if in some error path the quiet-- doesn't happen, quiet never
becomes 0 again in that folder and therefor the headers are never updated
whether there are new mails or not.

I hope this is the last codepath where it is lacking. If so, it should
fix #64210. This being an error path would explain why it is so elusive. I
saw this today for the first time having left kmail running across a
disconnect of my internet connection.

CCMAIL: 64210@bugs.kde.org

svn path=/trunk/kdepim/; revision=267320
wilder-work
Till Adam 23 years ago
parent bf6a93c13e
commit dadd9240d7
  1. 1
      kmfolderimap.cpp

@ -757,6 +757,7 @@ void KMFolderImap::slotListFolderResult(KIO::Job * job)
{
mAccount->slotSlaveError( mAccount->slave(), job->error(),
job->errorText() );
quiet( false );
emit folderComplete(this, FALSE);
mAccount->removeJob(it);
mAccount->displayProgress();

Loading…
Cancel
Save