Merge pull request #102535 from Hilderin/fix-plugin-scripts-load-twice-on-startup

Fix Plugin Scripts load twice on startup
This commit is contained in:
Thaddeus Crews 2025-02-07 14:50:33 -06:00
commit 9554481830
No known key found for this signature in database
GPG key ID: 62181B86FE9E5D84

View file

@ -3710,7 +3710,9 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
// Only try to load the script if it has a name. Else, the plugin has no init script.
if (script_path.length() > 0) {
script_path = addon_path.get_base_dir().path_join(script_path);
scr = ResourceLoader::load(script_path, "Script", ResourceFormatLoader::CACHE_MODE_IGNORE);
// We should not use the cached version on startup to prevent a script reload
// if it is already loaded and potentially running from autoloads. See GH-100750.
scr = ResourceLoader::load(script_path, "Script", EditorFileSystem::get_singleton()->doing_first_scan() ? ResourceFormatLoader::CACHE_MODE_REUSE : ResourceFormatLoader::CACHE_MODE_IGNORE);
if (scr.is_null()) {
show_warning(vformat(TTR("Unable to load addon script from path: '%s'."), script_path));