Removes the gdnative library when no script (gdns) references it any longer. This enables hot reload for gdnative.

This commit is contained in:
geekrelief 2020-12-23 06:23:41 -08:00
parent 187be733aa
commit cc5d8bb5ad

View file

@ -1724,6 +1724,12 @@ void NativeScriptLanguage::unregister_script(NativeScript *script) {
S->get().erase(script);
if (S->get().size() == 0) {
library_script_users.erase(S);
Map<String, Ref<GDNative>>::Element *G = library_gdnatives.find(script->lib_path);
if (G) {
G->get()->terminate();
library_gdnatives.erase(G);
}
}
}
#ifndef NO_THREADS