Browse Source

Tween: Add null check for target object

Fixes #45399.
Christoffer Sundbom 4 years ago
parent
commit
5b2100d85c
1 changed files with 6 additions and 0 deletions
  1. 6 0
      scene/animation/tween.cpp

+ 6 - 0
scene/animation/tween.cpp

@@ -1350,6 +1350,9 @@ void Tween::interpolate_property(Object *p_object, NodePath p_property, Variant
 		return;
 	}
 
+	// Check that the target object is valid
+	ERR_FAIL_COND_MSG(p_object == nullptr, vformat("The Tween \"%s\"'s target node is `null`. Is the node reference correct?", get_name()));
+
 	// Get the property from the node path
 	p_property = p_property.get_as_property_path();
 
@@ -1378,6 +1381,9 @@ void Tween::interpolate_method(Object *p_object, StringName p_method, Variant p_
 		return;
 	}
 
+	// Check that the target object is valid
+	ERR_FAIL_COND_MSG(p_object == nullptr, vformat("The Tween \"%s\"'s target node is `null`. Is the node reference correct?", get_name()));
+
 	// Convert any integers into REALs as they are better for interpolation
 	if (p_initial_val.get_type() == Variant::INT) {
 		p_initial_val = p_initial_val.operator real_t();