Fix some dispose issues

This commit is contained in:
Zeffuro
2026-01-19 00:03:42 +01:00
parent f576af797e
commit f074ca446f
2 changed files with 18 additions and 6 deletions
@@ -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);
}
}
@@ -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);
}
}