* fixed bug in TFPSList.SetCount. Deref was not called when shrinking the list.

git-svn-id: trunk@13851 -
This commit is contained in:
ivost 2009-10-12 21:23:38 +00:00
parent 709d1ccc0c
commit f18a2ab69c

View File

@ -357,15 +357,12 @@ procedure TFPSList.SetCount(NewCount: Integer);
begin
if (NewCount < 0) or (NewCount > MaxListSize) then
Error(SListCountError, NewCount);
if NewCount > FCapacity then
SetCapacity(NewCount);
if NewCount > FCount then
begin
if NewCount > FCapacity then
SetCapacity(NewCount);
if NewCount > FCount then
FillByte(InternalItems[FCount]^, (NewCount-FCount) * FItemSize, 0)
else if NewCount < FCount then
Deref(NewCount, FCount-1);
end;
FillByte(InternalItems[FCount]^, (NewCount-FCount) * FItemSize, 0)
else if NewCount < FCount then
Deref(NewCount, FCount-1);
FCount := NewCount;
end;