ide: fix for TMainMenuComponentEditor edit method. Fix crash of MenuEditor, on edited menu component deleted

git-svn-id: trunk@25611 -
This commit is contained in:
dmitry 2010-05-24 15:17:55 +00:00
parent ea295a4244
commit f9e656e9a1

View File

@ -73,15 +73,12 @@ type
The default component editor for TMenu. }
TMainMenuComponentEditor = class(TComponentEditor)
private
FMenu: TMainMenu;
FDesigner: TComponentEditorDesigner;
protected
public
constructor Create(AComponent: TComponent;
ADesigner: TComponentEditorDesigner); override;
destructor Destroy; override;
procedure Edit; override;
property Menu: TMainMenu read FMenu write FMenu;
function GetVerbCount: Integer; override;
function GetVerb(Index: Integer): string; override;
procedure ExecuteVerb(Index: Integer); override;
@ -175,13 +172,15 @@ begin
if FindRootDesigner(AComponent) <> FDesigner then Exit;
i := List_menus.Items.IndexOf(AComponent.Name);
if i >= 0 then List_menus.Items.Delete(i);
if AComponent = FMenu then SetMenu(nil);
end;
end;
procedure TMainMenuEditorForm.OnPersistentAdded(APersistent: TPersistent;
Select: boolean);
begin
debugln('TMainMenuEditorForm.OnPersistentAdded ',dbgsName(APersistent));
//debugln('TMainMenuEditorForm.OnPersistentAdded ',dbgsName(APersistent));
if APersistent is TMenu then
UpdateListOfMenus;
end;
@ -258,15 +257,6 @@ begin
FDesigner := ADesigner;
end;
destructor TMainMenuComponentEditor.Destroy;
begin
if (MainMenuEditorForm <> nil) and (MainMenuEditorForm.DesignerMainMenu <> nil)
and (MainMenuEditorForm.DesignerMainMenu.Menu=Component) then
FreeThenNil(MainMenuEditorForm);
inherited Destroy;
end;
procedure TMainMenuComponentEditor.Edit;
begin
ShowMenuEditor(Component as TMenu);