From 374955d8386c123456603e4de37a4ba34ff36e65 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 15 Mar 2024 18:41:56 -0500 Subject: [PATCH] fix(developer): suppress emission of new empty fields in package editor Fixes #11002. The fields `` and `` should not be emitted if they have no content, to improve file backward-compatibility. --- common/windows/delphi/packages/PackageInfo.pas | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/windows/delphi/packages/PackageInfo.pas b/common/windows/delphi/packages/PackageInfo.pas index 202fa9b4e7f..3f56db33f37 100644 --- a/common/windows/delphi/packages/PackageInfo.pas +++ b/common/windows/delphi/packages/PackageInfo.pas @@ -1857,7 +1857,8 @@ procedure TPackage.DoSaveXML(ARoot: IXMLNode); Keyboards.SaveXML(ARoot); if LexicalModels.Count > 0 then LexicalModels.SaveXML(ARoot); - RelatedPackages.SaveXML(ARoot); + if RelatedPackages.Count > 0 then + RelatedPackages.SaveXML(ARoot); end; procedure TPackage.SaveIni; @@ -2742,6 +2743,9 @@ procedure TPackageKeyboardExampleList.SaveXML(ARoot: IXMLNode); j: Integer; AExample: IXMLNode; begin + if Count = 0 then + Exit; + AExamples := ARoot.AddChild(SXML_PackageKeyboard_Examples); for j := 0 to Count - 1 do begin