From dec751c07b093895524807521babc3fde6a8f9d0 Mon Sep 17 00:00:00 2001 From: mattias Date: Mon, 21 May 2018 08:48:32 +0000 Subject: [PATCH] IDEIntf: fixed registering options frames with same index git-svn-id: trunk@57983 - --- components/ideintf/ideoptionsintf.pas | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/components/ideintf/ideoptionsintf.pas b/components/ideintf/ideoptionsintf.pas index b31be80f10..c7b277521d 100644 --- a/components/ideintf/ideoptionsintf.pas +++ b/components/ideintf/ideoptionsintf.pas @@ -809,16 +809,17 @@ end; function TIDEOptionsEditorList.Add(AEditorClass: TAbstractIDEOptionsEditorClass; AIndex, AParent: Integer): PIDEOptionsEditorRec; begin - Result := GetByIndex(AIndex); - if Result = nil then - begin - New(Result); - Result^.Index := AIndex; - Result^.Parent := AParent; - Result^.Collapsed := AEditorClass.DefaultCollapseChildNodes; - Result^.DefaultCollapsed := AEditorClass.DefaultCollapseChildNodes; - inherited Add(Result); - end; + repeat + Result := GetByIndex(AIndex); + if Result = nil then break; + inc(AIndex); + until false; + New(Result); + Result^.Index := AIndex; + Result^.Parent := AParent; + Result^.Collapsed := AEditorClass.DefaultCollapseChildNodes; + Result^.DefaultCollapsed := AEditorClass.DefaultCollapseChildNodes; + inherited Add(Result); Result^.EditorClass := AEditorClass; end;