From 4baf95a5f5ff1a0aaba1851dd0d155456315cc1b Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 18 Jul 2006 17:37:21 +0000 Subject: [PATCH] fixed mem leak git-svn-id: trunk@9630 - --- examples/checkbox.pp | 14 +++++--------- lcl/editbtn.pas | 24 ++++++++++++++++++++---- packager/packageeditor.pas | 6 +----- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/examples/checkbox.pp b/examples/checkbox.pp index 79a6f9366e..20ef1ba93d 100644 --- a/examples/checkbox.pp +++ b/examples/checkbox.pp @@ -56,8 +56,7 @@ type ToggleBox : TToggleBox; label1 : TLabel; label2 : TLabel; - FPixmap : TPixMap; - constructor Create(AOwner: TComponent); override; + constructor Create(AOwner: TComponent); override; procedure LoadMainMenu; Procedure FormKill(Sender : TObject); procedure mnuQuitClicked(Sender : TObject); @@ -77,9 +76,9 @@ Form1 : TForm1; constructor TForm1.Create(AOwner: TComponent); begin - inherited Create(AOwner); - Caption := 'CheckBox Demo V.02'; - LoadMainMenu; + inherited Create(AOwner); + Caption := 'CheckBox Demo V.02'; + LoadMainMenu; end; procedure TForm1.Button1Click(Sender : TObject); @@ -225,9 +224,6 @@ begin Button2.Caption := 'Toggle checkbox'; Button2.OnClick := @Button2Click; - FPixMap:= TPixmap.Create; - FPixmap.LoadFromFile('../images/btn_newform.xpm'); - Button11 := TSpeedButton.Create(Self); Button11.GroupIndex:= 1; Button11.Layout:= blGlyphTop; @@ -238,7 +234,7 @@ begin Button11.Width:= 45; Button11.Height:= 55; Button11.Flat:= true; - Button11.Glyph:= FPixmap; + Button11.Glyph.LoadFromFile('../images/btn_newform.xpm'); // Button11.Spacing:= -1; // Button11.Margin:= 4; Button11.Visible:= true; diff --git a/lcl/editbtn.pas b/lcl/editbtn.pas index 891215182d..83d17d0fa7 100644 --- a/lcl/editbtn.pas +++ b/lcl/editbtn.pas @@ -621,10 +621,14 @@ end; { TFileNameEdit } constructor TFileNameEdit.Create(AOwner: TComponent); +var + ABitmap: TBitmap; begin inherited Create(AOwner); FDialogFiles:=TStringList.Create; - Glyph:=CreateFileOpenBitmap; + ABitmap:=CreateFileOpenBitmap; + Glyph:=ABitmap; + ABitmap.Free; end; destructor TFileNameEdit.Destroy; @@ -732,9 +736,13 @@ end; { TDirectoryEdit } constructor TDirectoryEdit.Create(AOwner: TComponent); +var + ABitmap: TBitmap; begin inherited Create(AOwner); - Glyph:=CreateDirectoryBitmap; + ABitmap:=CreateDirectoryBitmap; + Glyph:=ABitmap; + ABitmap.Free; end; destructor TDirectoryEdit.Destroy; @@ -816,6 +824,8 @@ end; { TDateEdit } constructor TDateEdit.Create(AOwner: TComponent); +var + ABitmap: TBitmap; begin inherited Create(AOwner); FDate:=Now; @@ -827,7 +837,9 @@ begin CancelCaption:='Cancel'; ReadOnly:=true; Color:=clBtnFace; - Button.Glyph:=CreateDateGlyph;//.LoadFromLazarusResource('DateEditGlyph'); //GlyphFromBitmapOrResource(DateGlyph,ResBtnCalendar) + ABitmap:=CreateDateGlyph; + Button.Glyph:=ABitmap; + ABitmap.Free; Button.OnClick:= @DoButtonClick; // OnChange:=@Change; // OnDblClick:=@DoButtonClick; @@ -978,9 +990,13 @@ begin end; constructor TCalcEdit.Create(AOwner: TComponent); +var + ABitmap: TBitmap; begin inherited Create(AOwner); - Glyph:=CreateCalcBitmap; + ABitmap:=CreateCalcBitmap; + Glyph:=ABitmap; + ABitmap.Free; FdialogTitle:=rsCalculator; end; diff --git a/packager/packageeditor.pas b/packager/packageeditor.pas index 7d6070d08e..dcf2ade9f5 100644 --- a/packager/packageeditor.pas +++ b/packager/packageeditor.pas @@ -1248,12 +1248,8 @@ procedure TPackageEditorForm.SetupComponents; end; procedure LoadBitBtnGlyph(ABitBtn: TBitBtn; const ResName: string); - var Pixmap: TPixmap; begin - Pixmap:=TPixmap.Create; - Pixmap.TransparentColor:=clWhite; - Pixmap.LoadFromLazarusResource(ResName); - ABitBtn.Glyph:=Pixmap; + ABitBtn.Glyph.LoadFromLazarusResource(ResName); end; begin