IdeIntf: Prevent a crash when Action is deleted in ActionsEditor. Issue #27624, patch from Anton.

git-svn-id: trunk@48187 -
This commit is contained in:
juha 2015-03-09 23:15:48 +00:00
parent dc0729c75b
commit 85dae0945d

View File

@ -135,6 +135,7 @@ type
protected
procedure OnComponentRenamed(AComponent: TComponent);
procedure OnComponentSelection(const NewSelection: TPersistentSelectionList);
procedure OnComponentDelete(APersistent: TPersistent);
procedure OnRefreshPropertyValues;
function GetSelectedAction: TContainedAction;
procedure Notification(AComponent: TComponent; Operation: TOperation);
@ -757,6 +758,16 @@ begin
ACanvas.DrawFocusRect(ARect);
end;
procedure TActionListEditor.OnComponentDelete(APersistent: TPersistent);
var
i: Integer;
begin
if not (APersistent is TContainedAction) then Exit;
i := lstActionName.Items.IndexOfObject(APersistent);
if i >= 0 then
lstActionName.Items.Delete(i);
end;
procedure TActionListEditor.SBShowMenuNewActionsClick(Sender: TObject);
var
MousePoint: TPoint;
@ -891,6 +902,7 @@ begin
GlobalDesignHook.AddHandlerComponentRenamed(@OnComponentRenamed);
GlobalDesignHook.AddHandlerSetSelection(@OnComponentSelection);
GlobalDesignHook.AddHandlerRefreshPropertyValues(@OnRefreshPropertyValues);
GlobalDesignHook.AddHandlerPersistentDeleting(@OnComponentDelete);
AddActionEditor(Self);
end;