From 4a46362df8e6071c95b98dbabc8f915cf2043712 Mon Sep 17 00:00:00 2001 From: iisaev Date: Sat, 24 Oct 2026 11:29:22 +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 --- test_suites/trade/src/TradeTestInitializer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_suites/trade/src/TradeTestInitializer.cs b/test_suites/trade/src/TradeTestInitializer.cs index 79ef9e7..a95ef0b 100644 --- a/test_suites/trade/src/TradeTestInitializer.cs +++ b/test_suites/trade/src/TradeTestInitializer.cs @@ -32,7 +32,7 @@ namespace Cthangover.Mods.Trading.Tests .Select(a => a.Substring("--shots=".Length)) .FirstOrDefault(); GameLogger.Log("TEST", $"TradeTestInitializer: activating trade, shots={shots ?? "off"}"); - (Godot.Engine.GetMainLoop() as SceneTree)?.Root?.CallDeferred("add_child", new TradeTestDriver(shots)); + ModRoot.AddDeferred(new TradeTestDriver(shots)); } } }