DarkRadiant: master 544e8a6e
| Author | Committer | Branch | Timestamp | Parent |
|---|---|---|---|---|
| orbweaver | orbweaver | master | 30.12.2025 16:36 | master 71ff1a86 |
| Changeset | ScriptingSystem is lazily initialised Introduce the concept of a lazy module, exposed by a new virtual method RegisterableModule::isLazy, with a default implementation that returns false. Instead of being initialised at startup, lazy modules are initialised when they are first requested by ModuleRegistry::getModule. Currently the only lazy module is the ScriptingSystem, which is now initialised when the GUI sets up the Script window and starts making calls to GlobalScriptingSystem(). This means that the Python module is not initialised at all during unit tests, replacing the earlier hack which explicitly disabled Python via a (now removed) virtual method on ApplicationContext. |
|||
| mod - include/imodule.h | Diff File | |||
| mod - include/iscript.h | Diff File | |||
| mod - plugins/script/ScriptingSystem.cpp | Diff File | |||
| mod - plugins/script/ScriptingSystem.h | Diff File | |||
| mod - radiantcore/modulesystem/ModuleRegistry.cpp | Diff File | |||
| mod - radiantcore/modulesystem/ModuleRegistry.h | Diff File | |||
| mod - test/TestContext.h | Diff File | |||