Only unload the library when no NativeScript objects exist if the reloadable flag is true. If it is false it is likely the library does other things and can't be unloaded

(cherry picked from commit ae7675065a)
This commit is contained in:
Bastiaan Olij 2021-02-13 23:41:39 +11:00 committed by Rémi Verschelde
parent 329dcebc83
commit 8aa022f99c
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -1530,7 +1530,7 @@ void NativeScriptLanguage::unregister_script(NativeScript *script) {
library_script_users.erase(S);
Map<String, Ref<GDNative> >::Element *G = library_gdnatives.find(script->lib_path);
if (G) {
if (G && G->get()->get_library()->is_reloadable()) {
G->get()->terminate();
library_gdnatives.erase(G);
}