Browse Source

GDExtension: Use correct return pointer for validated calls that return `Variant`

David Snopek 1 year ago
parent
commit
88b6fee547
1 changed files with 1 additions and 1 deletions
  1. 1 1
      core/extension/gdextension.cpp

+ 1 - 1
core/extension/gdextension.cpp

@@ -234,7 +234,7 @@ public:
 			void *ret_opaque = nullptr;
 			if (r_ret) {
 				VariantInternal::initialize(r_ret, return_value_info.type);
-				ret_opaque = VariantInternal::get_opaque_pointer(r_ret);
+				ret_opaque = r_ret->get_type() == Variant::NIL ? r_ret : VariantInternal::get_opaque_pointer(r_ret);
 			}
 
 			ptrcall(p_object, argptrs, ret_opaque);