Fix some dispose issues
This commit is contained in:
@@ -154,11 +154,10 @@ public class AddonCategoryConfigurationWindow : NativeAddon
|
|||||||
|
|
||||||
protected override unsafe void OnFinalize(AtkUnitBase* addon)
|
protected override unsafe void OnFinalize(AtkUnitBase* addon)
|
||||||
{
|
{
|
||||||
_selectionListNode?.Dispose();
|
|
||||||
_selectionListNode = null;
|
_selectionListNode = null;
|
||||||
|
|
||||||
_configNode?.Dispose();
|
|
||||||
_configNode = null;
|
_configNode = null;
|
||||||
|
_separatorLine = null;
|
||||||
|
_nothingSelectedTextNode = null;
|
||||||
base.OnFinalize(addon);
|
base.OnFinalize(addon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,6 @@ namespace AetherBags.Nodes.Configuration.Category;
|
|||||||
public sealed class CategoryScrollingAreaNode : ScrollingListNode
|
public sealed class CategoryScrollingAreaNode : ScrollingListNode
|
||||||
{
|
{
|
||||||
private AddonCategoryConfigurationWindow? _categoryConfigurationAddon;
|
private AddonCategoryConfigurationWindow? _categoryConfigurationAddon;
|
||||||
private readonly TextButtonNode _categoryConfigurationButtonNode;
|
|
||||||
|
|
||||||
public CategoryScrollingAreaNode()
|
public CategoryScrollingAreaNode()
|
||||||
{
|
{
|
||||||
@@ -15,13 +14,13 @@ public sealed class CategoryScrollingAreaNode : ScrollingListNode
|
|||||||
|
|
||||||
AddNode(new CategoryGeneralConfigurationNode());
|
AddNode(new CategoryGeneralConfigurationNode());
|
||||||
|
|
||||||
_categoryConfigurationButtonNode = new TextButtonNode
|
var categoryConfigurationButtonNode = new TextButtonNode
|
||||||
{
|
{
|
||||||
Size = new Vector2(300, 28),
|
Size = new Vector2(300, 28),
|
||||||
String = "Configure Categories",
|
String = "Configure Categories",
|
||||||
OnClick = () => _categoryConfigurationAddon?.Toggle(),
|
OnClick = () => _categoryConfigurationAddon?.Toggle(),
|
||||||
};
|
};
|
||||||
AddNode(_categoryConfigurationButtonNode);
|
AddNode(categoryConfigurationButtonNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeCategoryAddon() {
|
private void InitializeCategoryAddon() {
|
||||||
@@ -33,4 +32,18 @@ public sealed class CategoryScrollingAreaNode : ScrollingListNode
|
|||||||
Title = "Category Configuration Window",
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user