You've already forked lazarus-ccr
ExCtrls: Fix memory leaks
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8135 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -29,6 +29,7 @@ type
|
||||
procedure InsertItem(AIndex: Integer; const AText: string; Obj: TObject); override;
|
||||
|
||||
public
|
||||
destructor Destroy; override;
|
||||
procedure Assign(ASource: TPersistent); override;
|
||||
procedure Clear; override;
|
||||
procedure Delete(AIndex: Integer); override;
|
||||
@ -59,7 +60,8 @@ type
|
||||
FOnDropDown: TNotifyEvent;
|
||||
FOnItemChange: TCheckItemChange;
|
||||
FOnItemClick: TCheckListClicked;
|
||||
procedure CloseUpHandler(Sender: TObject);
|
||||
procedure CheckComboBoxFormCloseHandler(Sender: TObject; var CloseAction: TCloseAction);
|
||||
// procedure CloseUpHandler(Sender: TObject);
|
||||
function GetChecked(AIndex: Integer): Boolean;
|
||||
function GetItemEnabled(AIndex: Integer): Boolean;
|
||||
function GetItems: TStrings;
|
||||
@ -193,6 +195,12 @@ end;
|
||||
|
||||
{ TCheckComboBoxExStrings }
|
||||
|
||||
destructor TCheckComboBoxExStrings.Destroy;
|
||||
begin
|
||||
Clear;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TCheckComboBoxExStrings.Assign(ASource: TPersistent);
|
||||
var
|
||||
i: Integer;
|
||||
@ -530,6 +538,14 @@ begin
|
||||
DoChange;
|
||||
end;
|
||||
|
||||
procedure TCheckComboBoxEx.CheckComboBoxFormCloseHandler(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
begin
|
||||
CloseUp;
|
||||
FCheckListBox := nil;
|
||||
CloseAction := caFree;
|
||||
end;
|
||||
|
||||
procedure TCheckComboBoxEx.Clear;
|
||||
begin
|
||||
FItems.Clear;
|
||||
@ -547,10 +563,12 @@ begin
|
||||
DoCloseUp;
|
||||
end;
|
||||
|
||||
{
|
||||
procedure TCheckComboBoxEx.CloseUpHandler(Sender: TObject);
|
||||
begin
|
||||
CloseUp;
|
||||
end;
|
||||
}
|
||||
|
||||
procedure TCheckComboBoxEx.DoChange;
|
||||
begin
|
||||
@ -829,6 +847,7 @@ begin
|
||||
F.Initialize(FDropDownCount, PopupOrigin, PopupWidth);
|
||||
SaveInitialChecks;
|
||||
F.FCheckListbox.OnItemClick := @ItemClickHandler;
|
||||
F.OnClose := @CheckComboBoxFormCloseHandler;
|
||||
F.Show;
|
||||
FDroppedDown := true;
|
||||
FCheckListbox := F.FCheckListbox;
|
||||
|
Reference in New Issue
Block a user