From 25d2fc84b2a64d6245e3c1903b5c97561fa00a5d Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 20 Oct 2008 05:02:52 +0000 Subject: [PATCH] lcl: fix mem leak in icon save code git-svn-id: trunk@17067 - --- lcl/include/icon.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lcl/include/icon.inc b/lcl/include/icon.inc index 965b076a35..d23466cf7e 100644 --- a/lcl/include/icon.inc +++ b/lcl/include/icon.inc @@ -996,7 +996,9 @@ procedure TCustomIcon.WriteStream(AStream: TMemoryStream); SrcDesc: TRawImageDescription absolute SrcRawImg.Description; DstDesc: TRawImageDescription absolute DstRawImg.Description; SrcImage, DstImage: TLazIntfImage; + NeedFreeData: Boolean; begin + NeedFreeData := True; if (AIconImage.MaskHandle = 0) or not RawImage_FromBitmap(SrcRawImg, AIconImage.MaskHandle, 0) then begin @@ -1004,6 +1006,7 @@ procedure TCustomIcon.WriteStream(AStream: TMemoryStream); SrcRawImg.Description := ARawImg.Description.GetDescriptionFromMask; SrcRawImg.Data := ARawImg.Mask; SrcRawImg.DataSize := ARawImg.MaskSize; + NeedFreeData := False; end; DstRawImg.Init; @@ -1034,6 +1037,8 @@ procedure TCustomIcon.WriteStream(AStream: TMemoryStream); SrcImage.Free; DstImage.Free; + if NeedFreeData then + SrcRawImg.FreeData; end; var