[GDNative] fix two crashes with NativeScript
This commit is contained in:
parent
0a691bf29e
commit
d56bcc38ac
|
@ -398,6 +398,11 @@ Variant NativeScript::_new(const Variant **p_args, int p_argcount, Variant::Call
|
||||||
owner = memnew(Reference);
|
owner = memnew(Reference);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!owner) {
|
||||||
|
r_error.error = Variant::CallError::CALL_ERROR_INSTANCE_IS_NULL;
|
||||||
|
return Variant();
|
||||||
|
}
|
||||||
|
|
||||||
Reference *r = Object::cast_to<Reference>(owner);
|
Reference *r = Object::cast_to<Reference>(owner);
|
||||||
if (r) {
|
if (r) {
|
||||||
ref = REF(r);
|
ref = REF(r);
|
||||||
|
@ -793,7 +798,7 @@ NativeScriptLanguage *NativeScriptLanguage::singleton;
|
||||||
void NativeScriptLanguage::_unload_stuff(bool p_reload) {
|
void NativeScriptLanguage::_unload_stuff(bool p_reload) {
|
||||||
for (Map<String, Map<StringName, NativeScriptDesc> >::Element *L = library_classes.front(); L; L = L->next()) {
|
for (Map<String, Map<StringName, NativeScriptDesc> >::Element *L = library_classes.front(); L; L = L->next()) {
|
||||||
|
|
||||||
if (p_reload && !library_gdnatives[L->key()]->get_library()->is_reloadable()) {
|
if (p_reload && library_gdnatives[L->key()].is_valid() && !library_gdnatives[L->key()]->get_library()->is_reloadable()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue