From da5e3acce33e77498237ebbbcfd670ad6c17b1ad Mon Sep 17 00:00:00 2001 From: juha Date: Sun, 25 Sep 2016 11:33:38 +0000 Subject: [PATCH] IDE: Rebuild the OI ComponentTree after an item is deleted. Issue #30635. git-svn-id: trunk@53030 - --- components/ideintf/componenttreeview.pas | 1 + ide/main.pp | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/components/ideintf/componenttreeview.pas b/components/ideintf/componenttreeview.pas index 5ad17058da..ef0e980523 100644 --- a/components/ideintf/componenttreeview.pas +++ b/components/ideintf/componenttreeview.pas @@ -732,6 +732,7 @@ procedure TComponentTreeView.UpdateComponentNodesValues; end; begin + DebugLn('TComponentTreeView.RebuildComponentNodes: Updating TreeView component node values'); BeginUpdate; UpdateComponentNode(Items.GetFirstNode); EndUpdate; diff --git a/ide/main.pp b/ide/main.pp index 188d4e5e5b..5aaef2d9ef 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -12677,9 +12677,12 @@ end; procedure TMainIDE.OnPropHookModified(Sender: TObject; PropName: ShortString); begin // ToDo: Should designer be marked as modified with PropName? - if PropName='' then ; - if Assigned(ObjectInspector1) then - // Any change of property can cause a change of a display name + if ObjectInspector1=Nil then Exit; + if PropName='' then + // Item may be added or deleted or whatever. + ObjectInspector1.ComponentTree.RebuildComponentNodes + else + // Any change of property can cause a change in display name. ObjectInspector1.ComponentTree.UpdateComponentNodesValues; end;