From fe6abb4c2ec97dda4c55305e22bb11bba2ab61d8 Mon Sep 17 00:00:00 2001 From: juha Date: Sun, 15 Jan 2012 11:56:28 +0000 Subject: [PATCH] LCL: fix memory leak in TRawImage.PerformEffect. Issue #21068, patch from Bart Broersma git-svn-id: trunk@34745 - --- lcl/graphtype.pp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lcl/graphtype.pp b/lcl/graphtype.pp index 8b13f293bd..c55c1da529 100644 --- a/lcl/graphtype.pp +++ b/lcl/graphtype.pp @@ -1635,6 +1635,9 @@ var P: Pointer; i, j: integer; begin + // check here for Description. Only RGBA data can be processed here. + if not CheckDescription then + Exit; if CreateNewData then begin GetMem(AData, DataSize); @@ -1647,11 +1650,6 @@ begin AData := P; end; - // check here for Description. Only RGBA data can be processed here. - if not CheckDescription then - Exit; - - case ADrawEffect of gdeNormal: ; gdeDisabled: @@ -1720,6 +1718,13 @@ begin end; end; end; + + if CreateNewData then + begin + Move(AData^, Data^, DataSize); + P := Data; + FreeMem(AData, DataSize); + end; Data := P; end;