mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 06:33:16 +00:00
Merge pull request #12131 from touilleMan/nativescript-fix-loading
[Nativescript] fix crash when loading a library with missing godot_nativescript_init
This commit is contained in:
commit
edd881cd70
@ -1011,10 +1011,13 @@ void NativeScriptLanguage::init_library(const Ref<GDNativeLibrary> &lib) {
|
||||
|
||||
void *proc_ptr;
|
||||
|
||||
gdn->get_symbol(_init_call_name, proc_ptr);
|
||||
|
||||
((void (*)(godot_string *))proc_ptr)((godot_string *)&lib_path);
|
||||
Error err = gdn->get_symbol(_init_call_name, proc_ptr);
|
||||
|
||||
if (err != OK) {
|
||||
ERR_PRINT(String("No " + _init_call_name + " in \"" + lib_path + "\" found").utf8().get_data());
|
||||
} else {
|
||||
((void (*)(godot_string *))proc_ptr)((godot_string *)&lib_path);
|
||||
}
|
||||
} else {
|
||||
// already initialized. Nice.
|
||||
}
|
||||
@ -1138,9 +1141,12 @@ void NativeReloadNode::_notification(int p_what) {
|
||||
// here the library registers all the classes and stuff.
|
||||
|
||||
void *proc_ptr;
|
||||
L->get()->get_symbol("godot_nativescript_init", proc_ptr);
|
||||
|
||||
((void (*)(void *))proc_ptr)((void *)&L->key());
|
||||
Error err = L->get()->get_symbol("godot_nativescript_init", proc_ptr);
|
||||
if (err != OK) {
|
||||
ERR_PRINT(String("No godot_nativescript_init in \"" + L->key() + "\" found").utf8().get_data());
|
||||
} else {
|
||||
((void (*)(void *))proc_ptr)((void *)&L->key());
|
||||
}
|
||||
|
||||
for (Map<String, Set<NativeScript *> >::Element *U = NSL->library_script_users.front(); U; U = U->next()) {
|
||||
for (Set<NativeScript *>::Element *S = U->get().front(); S; S = S->next()) {
|
||||
|
Loading…
Reference in New Issue
Block a user