IDE: prevent a memory leak when restoring defaults in component palette options.

git-svn-id: trunk@46872 -
This commit is contained in:
juha 2014-11-18 09:24:58 +00:00
parent ca628990f5
commit 6cc9c6ea63

View File

@ -73,6 +73,7 @@ type
fLocalUserOrder: TCompPaletteUserOrder; fLocalUserOrder: TCompPaletteUserOrder;
procedure WritePages(cpo: TCompPaletteOptions); procedure WritePages(cpo: TCompPaletteOptions);
procedure WriteComponents(cpo: TCompPaletteOptions); procedure WriteComponents(cpo: TCompPaletteOptions);
procedure ClearPagesListBox;
procedure FillPages; procedure FillPages;
procedure InitialComps(aPageName: string; aCompList: TStringList); procedure InitialComps(aPageName: string; aCompList: TStringList);
procedure FillComponents(aPageName: string); procedure FillComponents(aPageName: string);
@ -234,6 +235,15 @@ begin
end; end;
end; end;
procedure TCompPaletteOptionsFrame.ClearPagesListBox;
var
i: Integer;
begin
for i := 0 to PagesListBox.Items.Count-1 do
PagesListBox.Items.Objects[i].Free;
PagesListBox.Clear;
end;
procedure TCompPaletteOptionsFrame.FillPages; procedure TCompPaletteOptionsFrame.FillPages;
// Collect all available components (excluding hidden) // Collect all available components (excluding hidden)
var var
@ -243,7 +253,7 @@ var
begin begin
if Assigned(IDEComponentPalette) then if Assigned(IDEComponentPalette) then
begin begin
PagesListBox.Clear; ClearPagesListBox;
PagesListBox.Items.Add(lis_All_); PagesListBox.Items.Add(lis_All_);
for i := 0 to fLocalUserOrder.ComponentPages.Count-1 do for i := 0 to fLocalUserOrder.ComponentPages.Count-1 do
begin begin