Take leave mail on server into account. Should fix #7400.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41091 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -155,13 +155,11 @@ POP3Protocol::SyncMessages()
|
|||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 num_messages;
|
|
||||||
|
|
||||||
BStringList toDownload;
|
BStringList toDownload;
|
||||||
fManifest.NotHere(fUniqueIDs, &toDownload);
|
fManifest.NotHere(fUniqueIDs, &toDownload);
|
||||||
|
|
||||||
num_messages = toDownload.CountItems();
|
int32 numMessages = toDownload.CountItems();
|
||||||
if (num_messages == 0) {
|
if (numMessages == 0) {
|
||||||
CheckForDeletedMessages();
|
CheckForDeletedMessages();
|
||||||
ResetProgress();
|
ResetProgress();
|
||||||
return B_OK;
|
return B_OK;
|
||||||
@@ -234,6 +232,12 @@ POP3Protocol::SyncMessages()
|
|||||||
// save manifest in case we get disturbed
|
// save manifest in case we get disturbed
|
||||||
fManifest += uid;
|
fManifest += uid;
|
||||||
_WriteManifest();
|
_WriteManifest();
|
||||||
|
|
||||||
|
bool leaveOnServer;
|
||||||
|
if (fSettings.FindBool("leave_mail_on_server", &leaveOnServer) == B_OK
|
||||||
|
&& !leaveOnServer) {
|
||||||
|
Delete(toRetrieve);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ResetProgress();
|
ResetProgress();
|
||||||
@@ -814,6 +818,9 @@ POP3Protocol::Delete(int32 num)
|
|||||||
#if DEBUG
|
#if DEBUG
|
||||||
puts(fLog.String());
|
puts(fLog.String());
|
||||||
#endif
|
#endif
|
||||||
|
/* The mail is just marked as deleted and removed from the server when
|
||||||
|
sending the QUIT command. Because of that the message number stays the same
|
||||||
|
and we keep the uid in the uid list. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user