diff --git a/components/rx/pickdate.pas b/components/rx/pickdate.pas index c9a04ae64..4c94d6dbe 100644 --- a/components/rx/pickdate.pas +++ b/components/rx/pickdate.pas @@ -940,6 +940,7 @@ var BackPanel: TWinControl; MI:TMenuItem; i:integer; + TmpBitmap:TBitmap; begin inherited Create(AOwner); @@ -1016,7 +1017,12 @@ begin begin Parent := FControlPanel; SetBounds(-1, -1, BtnSide, BtnSide); - Glyph := LoadBitmapFromLazarusResource('prev2'); +// Glyph := LoadBitmapFromLazarusResource('prev2'); + //loaded bitmap should be freed as Glyph just takes a copy of it + TmpBitmap:=LoadBitmapFromLazarusResource('prev2'); + Glyph := TmpBitmap; + FreeAndNil(TmpBitmap); + OnClick := @PrevYearBtnClick; Hint := sPrevYear; Align:=alLeft; @@ -1027,7 +1033,12 @@ begin begin Parent := FControlPanel; SetBounds(BtnSide - 2, -1, BtnSide, BtnSide); - Glyph:=LoadBitmapFromLazarusResource('prev1'); +// Glyph:=LoadBitmapFromLazarusResource('prev1'); + + TmpBitmap:=LoadBitmapFromLazarusResource('prev1'); + Glyph := TmpBitmap; + FreeAndNil(TmpBitmap); + OnClick := @PrevMonthBtnClick; Hint := sPrevMonth; Align:=alLeft; @@ -1038,7 +1049,10 @@ begin begin Parent := FControlPanel; SetBounds(FControlPanel.Width - 2 * BtnSide + 2, -1, BtnSide, BtnSide); - Glyph:=LoadBitmapFromLazarusResource('next1'); +// Glyph:=LoadBitmapFromLazarusResource('next1'); + TmpBitmap:=LoadBitmapFromLazarusResource('next1'); + Glyph := TmpBitmap; + FreeAndNil(TmpBitmap); OnClick := @NextMonthBtnClick; Hint := sNextMonth; Align:=alRight; @@ -1049,7 +1063,10 @@ begin begin Parent := FControlPanel; SetBounds(FControlPanel.Width - BtnSide + 1, -1, BtnSide, BtnSide); - Glyph:=LoadBitmapFromLazarusResource('next2'); +// Glyph:=LoadBitmapFromLazarusResource('next2'); + TmpBitmap:=LoadBitmapFromLazarusResource('next2'); + Glyph := TmpBitmap; + FreeAndNil(TmpBitmap); OnClick := @NextYearBtnClick; Hint := sNextYear; Align:=alRight; diff --git a/components/rx/rxdbgrid.pas b/components/rx/rxdbgrid.pas index 3daa77384..39dbbd0ba 100644 --- a/components/rx/rxdbgrid.pas +++ b/components/rx/rxdbgrid.pas @@ -2639,7 +2639,7 @@ begin // FTitleButtons:=True; F_Clicked := False; - F_MenuBMP := TBitmap.Create; +// F_MenuBMP := TBitmap.Create; F_MenuBMP := LoadLazResBitmapImage('menu_grid'); DoCreateJMenu; diff --git a/components/rx/rxlookup.pas b/components/rx/rxlookup.pas index f86721591..2ff1b3220 100644 --- a/components/rx/rxlookup.pas +++ b/components/rx/rxlookup.pas @@ -1451,6 +1451,8 @@ begin end; constructor TRxCustomDBLookupCombo.Create(AOwner: TComponent); +var + ArrowBmp:TBitmap; begin inherited Create(AOwner); Height := 23; @@ -1490,10 +1492,13 @@ begin // Color:=clWindow; FEmptyItemColor:=clWindow; - Glyph:=CreateArrowBitmap; +// Glyph:=CreateArrowBitmap; + ArrowBmp:=CreateArrowBitmap; + Glyph:=ArrowBmp; + FreeAndNil(ArrowBmp); //free bitmap as TSpeedButton setter takes a copy of bitmap + ButtonWidth:=15; TabStop:=true; - end; destructor TRxCustomDBLookupCombo.Destroy;