IDE: options: component palette: fixed crash

git-svn-id: trunk@44458 -
This commit is contained in:
mattias 2014-03-17 11:30:09 +00:00
parent d841be9240
commit adc1bdf40e

View File

@ -179,7 +179,7 @@ begin
PgName := IDEComponentPalette.PagesUserOrder[i]; PgName := IDEComponentPalette.PagesUserOrder[i];
Pg := IDEComponentPalette.GetPage(PgName, True); Pg := IDEComponentPalette.GetPage(PgName, True);
Assert(Assigned(Pg), 'TCompPaletteOptionsFrame.WritePages: PageName "'+PgName+'" not found.'); Assert(Assigned(Pg), 'TCompPaletteOptionsFrame.WritePages: PageName "'+PgName+'" not found.');
if Pg.Visible then if (Pg<>nil) and Pg.Visible then
OrigPages.Add(Pg.PageName); OrigPages.Add(Pg.PageName);
end; end;
// Collect user defined page names // Collect user defined page names
@ -249,7 +249,7 @@ begin
PgName := IDEComponentPalette.PagesUserOrder[i]; PgName := IDEComponentPalette.PagesUserOrder[i];
Pg := IDEComponentPalette.GetPage(PgName, True); Pg := IDEComponentPalette.GetPage(PgName, True);
Assert(Assigned(Pg), 'TCompPaletteOptionsFrame.FillPages: PageName "'+PgName+'" not found.'); Assert(Assigned(Pg), 'TCompPaletteOptionsFrame.FillPages: PageName "'+PgName+'" not found.');
if Pg.Visible then if (Pg<>nil) and Pg.Visible then
begin // StringList will hold components for this page. begin // StringList will hold components for this page.
CompList := TStringList.Create; CompList := TStringList.Create;
InitialComps(Pg.PageName, CompList); InitialComps(Pg.PageName, CompList);
@ -269,14 +269,17 @@ var
begin begin
PgInd := IDEComponentPalette.PagesUserOrder.IndexOf(aPageName); PgInd := IDEComponentPalette.PagesUserOrder.IndexOf(aPageName);
Assert(PgInd > -1, 'TCompPaletteOptionsFrame.InitialComps: PageName "'+aPageName+'" not found'); Assert(PgInd > -1, 'TCompPaletteOptionsFrame.InitialComps: PageName "'+aPageName+'" not found');
OrderedComps := IDEComponentPalette.PagesUserOrder.Objects[PgInd] as TStringList; if PgInd>=0 then
for i := 0 to OrderedComps.Count-1 do
begin begin
CompName := OrderedComps[i]; OrderedComps := IDEComponentPalette.PagesUserOrder.Objects[PgInd] as TStringList;
Comp := IDEComponentPalette.FindComponent(CompName); for i := 0 to OrderedComps.Count-1 do
Assert(Assigned(Comp), 'TCompPaletteOptionsFrame.InitialComps: Component "'+CompName+'" not found'); begin
if Comp.Visible and (Comp.PageName<>'') then CompName := OrderedComps[i];
aCompList.AddObject(Comp.ComponentClass.ClassName, Comp); Comp := IDEComponentPalette.FindComponent(CompName);
Assert(Assigned(Comp), 'TCompPaletteOptionsFrame.InitialComps: Component "'+CompName+'" not found');
if Comp.Visible and (Comp.PageName<>'') then
aCompList.AddObject(Comp.ComponentClass.ClassName, Comp);
end;
end; end;
end; end;