From a09051ddda679663580790f63885f687dd18a7d0 Mon Sep 17 00:00:00 2001 From: iisaev Date: Sat, 24 Oct 2026 11:29:17 +0200 Subject: [PATCH] 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 --- src/ResourceAtlasInitializer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ResourceAtlasInitializer.cs b/src/ResourceAtlasInitializer.cs index 82d186d..54dc862 100644 --- a/src/ResourceAtlasInitializer.cs +++ b/src/ResourceAtlasInitializer.cs @@ -38,7 +38,7 @@ namespace Cthangover.ResourceAtlas queued = true; var directory = ProjectSettings.GlobalizePath(output); 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)