From f074ca446f4ea92c186ebc293dc0dd1c90fe5356 Mon Sep 17 00:00:00 2001 From: Zeffuro Date: Mon, 19 Jan 2026 00:03:42 +0100 Subject: [PATCH] Fix some dispose issues --- .../AddonCategoryConfigurationWindow.cs | 5 ++--- .../Category/CategoryScrollingAreaNode.cs | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/AetherBags/Addons/AddonCategoryConfigurationWindow.cs b/AetherBags/Addons/AddonCategoryConfigurationWindow.cs index 8c2cb68..6ea3348 100644 --- a/AetherBags/Addons/AddonCategoryConfigurationWindow.cs +++ b/AetherBags/Addons/AddonCategoryConfigurationWindow.cs @@ -154,11 +154,10 @@ public class AddonCategoryConfigurationWindow : NativeAddon protected override unsafe void OnFinalize(AtkUnitBase* addon) { - _selectionListNode?.Dispose(); _selectionListNode = null; - - _configNode?.Dispose(); _configNode = null; + _separatorLine = null; + _nothingSelectedTextNode = null; base.OnFinalize(addon); } } \ No newline at end of file diff --git a/AetherBags/Nodes/Configuration/Category/CategoryScrollingAreaNode.cs b/AetherBags/Nodes/Configuration/Category/CategoryScrollingAreaNode.cs index d6b0ef5..9366a00 100644 --- a/AetherBags/Nodes/Configuration/Category/CategoryScrollingAreaNode.cs +++ b/AetherBags/Nodes/Configuration/Category/CategoryScrollingAreaNode.cs @@ -7,7 +7,6 @@ namespace AetherBags.Nodes.Configuration.Category; public sealed class CategoryScrollingAreaNode : ScrollingListNode { private AddonCategoryConfigurationWindow? _categoryConfigurationAddon; - private readonly TextButtonNode _categoryConfigurationButtonNode; public CategoryScrollingAreaNode() { @@ -15,13 +14,13 @@ public sealed class CategoryScrollingAreaNode : ScrollingListNode AddNode(new CategoryGeneralConfigurationNode()); - _categoryConfigurationButtonNode = new TextButtonNode + var categoryConfigurationButtonNode = new TextButtonNode { Size = new Vector2(300, 28), String = "Configure Categories", OnClick = () => _categoryConfigurationAddon?.Toggle(), }; - AddNode(_categoryConfigurationButtonNode); + AddNode(categoryConfigurationButtonNode); } private void InitializeCategoryAddon() { @@ -33,4 +32,18 @@ public sealed class CategoryScrollingAreaNode : ScrollingListNode Title = "Category Configuration Window", }; } + + protected override void Dispose(bool disposing, bool isNativeDestructor) + { + if (disposing) + { + if (_categoryConfigurationAddon != null) + { + _categoryConfigurationAddon.Close(); + _categoryConfigurationAddon = null; + } + } + + base.Dispose(disposing, isNativeDestructor); + } } \ No newline at end of file