Open jojobear99 opened 8 years ago
This happens because of incorrect removal loop in TMailItems.RemoveDeletedMessages
and similar procedures.
Bug can be perfectly reproduced on localhost with JES server.
My knowledge of Delphi is bad, but looks like this rewrite can help:
Index: source/uMailItems.pas
===================================================================
--- source/uMailItems.pas (revision 925)
+++ source/uMailItems.pas (working copy)
@@ -247,14 +247,14 @@
// all messages no longer on the server
// @Return - True if messages were removed, false if no changes
var
- mailItem : TMailItem;
+ i : Integer;
begin
Result := False;
- for mailItem in Self do
+ for i := Pred(Count) downto 0 do
begin
- if mailItem.MsgNum = -1 then
+ if Self[i].MsgNum = -1 then
begin
- Remove(mailItem);
+ Delete(i);
Result := True;
end
end;
Thank you! :)
Moodolf reports