LCL: fix memory leak in TRawImage.PerformEffect. Issue #21068, patch from Bart Broersma

git-svn-id: trunk@34745 -
This commit is contained in:
juha 2012-01-15 11:56:28 +00:00
parent 3e287c296d
commit fe6abb4c2e

View File

@ -1635,6 +1635,9 @@ var
P: Pointer; P: Pointer;
i, j: integer; i, j: integer;
begin begin
// check here for Description. Only RGBA data can be processed here.
if not CheckDescription then
Exit;
if CreateNewData then if CreateNewData then
begin begin
GetMem(AData, DataSize); GetMem(AData, DataSize);
@ -1647,11 +1650,6 @@ begin
AData := P; AData := P;
end; end;
// check here for Description. Only RGBA data can be processed here.
if not CheckDescription then
Exit;
case ADrawEffect of case ADrawEffect of
gdeNormal: ; gdeNormal: ;
gdeDisabled: gdeDisabled:
@ -1720,6 +1718,13 @@ begin
end; end;
end; end;
end; end;
if CreateNewData then
begin
Move(AData^, Data^, DataSize);
P := Data;
FreeMem(AData, DataSize);
end;
Data := P; Data := P;
end; end;