Root nodes join through ModRoot.AddDeferred, so a reload that unloads the mod first never hands Godot a freed node

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
cthangoverandClaude Opus 5.5 committed 2026-10-24 11:29:17 +02:00
1 parent 5c80e31605
commit a09051ddda
1 file changed
+1 -1
+1 -1
View File
@@ -38,7 +38,7 @@ namespace Cthangover.ResourceAtlas
queued = true; queued = true;
var directory = ProjectSettings.GlobalizePath(output); var directory = ProjectSettings.GlobalizePath(output);
GameLogger.Log("RESOURCE_ATLAS", $"resource atlas requested, report directory '{directory}'"); GameLogger.Log("RESOURCE_ATLAS", $"resource atlas requested, report directory '{directory}'");
(Godot.Engine.GetMainLoop() as SceneTree)?.Root?.CallDeferred("add_child", new ResourceAtlasDriverNode(directory, ParseTimeout(args))); ModRoot.AddDeferred(new ResourceAtlasDriverNode(directory, ParseTimeout(args)));
} }
private static float ParseTimeout(string[] args) private static float ParseTimeout(string[] args)