summaryrefslogtreecommitdiff
path: root/modules/gdnative
diff options
context:
space:
mode:
authorRamesh Ravone <ramesh.maran443@gmail.com>2017-07-22 06:05:59 +0530
committerRamesh Ravone <ramesh.maran443@gmail.com>2017-07-22 06:39:03 +0530
commitaf8a40e554c6025e9cc166bbee7829f4353f6b50 (patch)
treee5ea9a82029505b4110580546d8141ab76929ea4 /modules/gdnative
parent2a0c0db028c84c75f4a927d0fd400449f3236952 (diff)
gdnative bug fix in get (return null check)
Diffstat (limited to 'modules/gdnative')
-rw-r--r--modules/gdnative/gdnative.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/gdnative/gdnative.cpp b/modules/gdnative/gdnative.cpp
index 93e13850ac..214164ef89 100644
--- a/modules/gdnative/gdnative.cpp
+++ b/modules/gdnative/gdnative.cpp
@@ -876,9 +876,12 @@ bool GDNativeInstance::get(const StringName &p_name, Variant &r_ret) const {
const Variant *args[1] = { &name };
godot_variant result = E->get().method.method((godot_object *)owner, E->get().method.method_data, userdata, 1, (godot_variant **)args);
- r_ret = *(Variant *)&result;
+ if (((Variant *)&result)->get_type() != Variant::NIL) {
+ r_ret = *(Variant *)&result;
+ godot_variant_destroy(&result);
+ return true;
+ }
godot_variant_destroy(&result);
- return true;
}
return false;