summaryrefslogtreecommitdiff
path: root/core/variant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/variant.cpp')
-rw-r--r--core/variant.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/variant.cpp b/core/variant.cpp
index e7d0e58367..e0cc6685f4 100644
--- a/core/variant.cpp
+++ b/core/variant.cpp
@@ -910,7 +910,15 @@ bool Variant::is_one() const {
void Variant::reference(const Variant &p_variant) {
- clear();
+ switch (type) {
+ case NIL:
+ case BOOL:
+ case INT:
+ case REAL:
+ break;
+ default:
+ clear();
+ }
type = p_variant.type;
@@ -3291,7 +3299,7 @@ String vformat(const String &p_text, const Variant &p1, const Variant &p2, const
bool error = false;
String fmt = p_text.sprintf(args, &error);
- ERR_FAIL_COND_V(error, String());
+ ERR_FAIL_COND_V_MSG(error, String(), fmt);
return fmt;
}