From be39ca0c85f83809b25f057ff693dc4ec9e9e290 Mon Sep 17 00:00:00 2001 From: michael Date: Tue, 11 Jul 2017 07:37:04 +0000 Subject: [PATCH] * Fix bug ID #32136, object not freed when replaced by another git-svn-id: trunk@36724 - --- packages/rtl-generics/src/generics.collections.pas | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/rtl-generics/src/generics.collections.pas b/packages/rtl-generics/src/generics.collections.pas index 4cee7d5775..0e02c458f5 100644 --- a/packages/rtl-generics/src/generics.collections.pas +++ b/packages/rtl-generics/src/generics.collections.pas @@ -699,9 +699,10 @@ end; procedure TList.SetItem(AIndex: SizeInt; const AValue: T); begin if (AIndex < 0) or (AIndex >= Count) then - raise EArgumentOutOfRangeException.CreateRes(@SArgumentOutOfRange); - + raise EArgumentOutOfRangeException.CreateRes(@SArgumentOutOfRange); + Notify(FItems[AIndex], cnRemoved); FItems[AIndex] := AValue; + Notify(AValue, cnAdded); end; function TList.GetEnumerator: TEnumerator;