diff --git a/Documents/Changelog/Changelog.md b/Documents/Changelog/Changelog.md index afba9dcb6..5f5d928ef 100644 --- a/Documents/Changelog/Changelog.md +++ b/Documents/Changelog/Changelog.md @@ -3,6 +3,7 @@ ======= ## 2024-11-xx - Build 2411 - November 2024 +* Resolved [#1381](https://github.com/Krypton-Suite/Standard-Toolkit/issues/1502), Docking Persistence broken since build `##.23.10.303` * Implemented [#1507](https://github.com/Krypton-Suite/Standard-Toolkit/issues/1507), **[Breaking Change]** `KryptonThemeComboBox`, `KryptonThemeListBox` & `KryptonRibbonGroupThemeComboBox`: - All controls had their code base updated to one standard. - The assignment of themes via an index has been removed from all. diff --git a/Source/Krypton Components/Krypton.Docking/Elements Base/DockingElement.cs b/Source/Krypton Components/Krypton.Docking/Elements Base/DockingElement.cs index e4fd317e1..446335bfb 100644 --- a/Source/Krypton Components/Krypton.Docking/Elements Base/DockingElement.cs +++ b/Source/Krypton Components/Krypton.Docking/Elements Base/DockingElement.cs @@ -149,10 +149,9 @@ public virtual IDockingElement? Parent /// public virtual void PropogateAction(DockingPropogateAction action, string[]? uniqueNames) { - var countToUse = Math.Min(Count, uniqueNames?.Length ?? 0); // Do not modify! because: https://github.com/Krypton-Suite/Standard-Toolkit/issues/1381 - // Propagate the action request to all the child elements + // Propagate the action request to all the child elements (Even the null ones !!) // (use reverse order so if element removes itself we still have a valid loop) - for (var i = countToUse - 1; i >= 0; i--) + for (var i = Count - 1; i >= 0; i--) { { this[i]!.PropogateAction(action, uniqueNames); @@ -542,11 +541,8 @@ public virtual void LoadElementFromXml(XmlReader xmlReader, KryptonPageCollectio // Find a child docking element with the matching name IDockingElement? child = this[xmlReader.GetAttribute(@"N")!]; - if (child != null) - { - // Let derived class perform child element specific processing - LoadChildDockingElement(xmlReader, pages, child); - } + // Let derived class perform child element specific processing + LoadChildDockingElement(xmlReader, pages, child); } }