summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2018-01-15 20:18:50 +0100
committerGitHub <noreply@github.com>2018-01-15 20:18:50 +0100
commit700a1a90964210ea54bb7cb03dc8697b1efb531a (patch)
tree480c2dde531fc4acb52f21115b270d9174afaf28 /modules
parent089dcc69598d869a4d92af3bff650c7271f9c33e (diff)
parentd56bcc38ac69a63715c30a6fcd06a1e763704251 (diff)
Merge pull request #15724 from karroffel/gdnative-fix-some-crashes
[GDNative] fix two crashes with NativeScript
Diffstat (limited to 'modules')
-rw-r--r--modules/gdnative/nativescript/nativescript.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/gdnative/nativescript/nativescript.cpp b/modules/gdnative/nativescript/nativescript.cpp
index f45217d031..cff5d9c9bd 100644
--- a/modules/gdnative/nativescript/nativescript.cpp
+++ b/modules/gdnative/nativescript/nativescript.cpp
@@ -398,6 +398,11 @@ Variant NativeScript::_new(const Variant **p_args, int p_argcount, Variant::Call
owner = memnew(Reference);
}
+ if (!owner) {
+ r_error.error = Variant::CallError::CALL_ERROR_INSTANCE_IS_NULL;
+ return Variant();
+ }
+
Reference *r = Object::cast_to<Reference>(owner);
if (r) {
ref = REF(r);
@@ -793,7 +798,7 @@ NativeScriptLanguage *NativeScriptLanguage::singleton;
void NativeScriptLanguage::_unload_stuff(bool p_reload) {
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;
}