diff --git a/rtl/objpas/fgl.pp b/rtl/objpas/fgl.pp index 5ff1e5d03b..8407087cf4 100644 --- a/rtl/objpas/fgl.pp +++ b/rtl/objpas/fgl.pp @@ -398,9 +398,13 @@ begin end; procedure TFPSList.Put(Index: Integer; Item: Pointer); +var p : Pointer; begin if (Index < 0) or (Index >= FCount) then RaiseIndexError(Index); + p:=InternalItems[Index]; + if assigned(p) then + DeRef(p); InternalItems[Index] := Item; end;