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:16 +02:00
1 parent e0bc983f39
commit 55caaf020d
6 files changed
+6 -6

No files matched your search

@@ -19,7 +19,7 @@ namespace Mods.CollectionEditTest
queued = true;
GameLogger.Log("TEST", "CollectionEditTest: activating");
(Godot.Engine.GetMainLoop() as SceneTree)?.Root?.CallDeferred("add_child", new CollectionEditTestDriverNode());
ModRoot.AddDeferred(new CollectionEditTestDriverNode());
}
}
}
@@ -27,7 +27,7 @@ namespace Mods.DisplaySettingsTest
queued = true;
GameLogger.Log("TEST", "DisplaySettingsTest: activating");
(Godot.Engine.GetMainLoop() as SceneTree)?.Root?.CallDeferred("add_child", new DisplaySettingsTestDriverNode(shots));
ModRoot.AddDeferred(new DisplaySettingsTestDriverNode(shots));
}
}
}
@@ -19,7 +19,7 @@ namespace Mods.HotReloadTest
queued = true;
GameLogger.Log("TEST", "HotReloadTest: activating");
(Godot.Engine.GetMainLoop() as SceneTree)?.Root?.CallDeferred("add_child", new HotReloadTestDriverNode());
ModRoot.AddDeferred(new HotReloadTestDriverNode());
}
}
}
@@ -19,7 +19,7 @@ namespace Mods.MenuFlowTest
queued = true;
GameLogger.Log("TEST", "MenuFlowTest: activating");
(Godot.Engine.GetMainLoop() as SceneTree)?.Root?.CallDeferred("add_child", new MenuFlowTestDriverNode());
ModRoot.AddDeferred(new MenuFlowTestDriverNode());
}
}
}
@@ -19,7 +19,7 @@ namespace Mods.NewGameTest
queued = true;
GameLogger.Log("TEST", "NewGameTest: activating");
(Godot.Engine.GetMainLoop() as SceneTree)?.Root?.CallDeferred("add_child", new NewGameTestDriverNode());
ModRoot.AddDeferred(new NewGameTestDriverNode());
}
}
}
@@ -19,7 +19,7 @@ namespace Mods.SaveDormancyTest
queued = true;
GameLogger.Log("TEST", "SaveDormancyTest: activating");
(Godot.Engine.GetMainLoop() as SceneTree)?.Root?.CallDeferred("add_child", new SaveDormancyTestDriverNode());
ModRoot.AddDeferred(new SaveDormancyTestDriverNode());
}
}
}