aboutsummaryrefslogtreecommitdiff
path: root/core/variant_call.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2015-12-05 14:18:22 -0300
committerJuan Linietsky2015-12-05 14:18:22 -0300
commit200b7bb87c3d8d8b2011b08ed4bd7b034ceb452f (patch)
treed9dc837018c4c2c7680491889316eedb9fe6b36c /core/variant_call.cpp
parent35fa048af555e1f8411a2034706e9e452ce2f399 (diff)
downloadgodot-200b7bb87c3d8d8b2011b08ed4bd7b034ceb452f.tar.gz
godot-200b7bb87c3d8d8b2011b08ed4bd7b034ceb452f.tar.zst
godot-200b7bb87c3d8d8b2011b08ed4bd7b034ceb452f.zip
Diffstat (limited to 'core/variant_call.cpp')
-rw-r--r--core/variant_call.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/variant_call.cpp b/core/variant_call.cpp
index 48c38f05f..0d0248ef2 100644
--- a/core/variant_call.cpp
+++ b/core/variant_call.cpp
@@ -959,7 +959,7 @@ Variant Variant::call(const StringName& p_method,const Variant** p_args,int p_ar
#define VCALL(m_type,m_method) _VariantCall::_call_##m_type##_##m_method
-Variant Variant::construct(const Variant::Type p_type,const Variant** p_args,int p_argcount,CallError &r_error) {
+Variant Variant::construct(const Variant::Type p_type, const Variant** p_args, int p_argcount, CallError &r_error, bool p_strict) {
r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
ERR_FAIL_INDEX_V(p_type,VARIANT_MAX,Variant());
@@ -1035,7 +1035,7 @@ Variant Variant::construct(const Variant::Type p_type,const Variant** p_args,int
} else if (p_argcount==1 && p_args[0]->type==p_type) {
return *p_args[0]; //copy construct
- } else if (p_argcount==1 && Variant::can_convert(p_args[0]->type,p_type)) {
+ } else if (p_argcount==1 && (!p_strict || Variant::can_convert(p_args[0]->type,p_type))) {
//near match construct
switch(p_type) {