2
0
Эх сурвалжийг харах

Check for type mismatch in PropertyTweener.from()

kobewi 2 жил өмнө
parent
commit
45f4d59fa4

+ 5 - 0
scene/animation/tween.cpp

@@ -489,6 +489,11 @@ Tween::Tween(bool p_valid) {
 }
 
 Ref<PropertyTweener> PropertyTweener::from(Variant p_value) {
+	ERR_FAIL_COND_V(tween.is_null(), nullptr);
+	if (!tween->_validate_type_match(p_value, final_val)) {
+		return nullptr;
+	}
+
 	initial_val = p_value;
 	do_continue = false;
 	return this;

+ 2 - 0
scene/animation/tween.h

@@ -61,6 +61,8 @@ class MethodTweener;
 class Tween : public RefCounted {
 	GDCLASS(Tween, RefCounted);
 
+	friend class PropertyTweener;
+
 public:
 	enum TweenProcessMode {
 		TWEEN_PROCESS_PHYSICS,