Fix GDScript editor crash on invalid tween_property arguments.

This commit is contained in:
Pāvels Nadtočajevs 2025-01-16 10:40:13 +02:00
parent 0726d3c7d5
commit 576892863c

View file

@ -2860,7 +2860,15 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
if (p_argidx == 1 && p_context.node && p_context.node->type == GDScriptParser::Node::CALL && ClassDB::is_parent_class(class_name, SNAME("Tween")) && p_method == SNAME("tween_property")) {
// Get tweened objects properties.
if (static_cast<GDScriptParser::CallNode *>(p_context.node)->arguments.is_empty()) {
base_type.kind = GDScriptParser::DataType::UNRESOLVED;
break;
}
GDScriptParser::ExpressionNode *tweened_object = static_cast<GDScriptParser::CallNode *>(p_context.node)->arguments[0];
if (!tweened_object) {
base_type.kind = GDScriptParser::DataType::UNRESOLVED;
break;
}
StringName native_type = tweened_object->datatype.native_type;
switch (tweened_object->datatype.kind) {
case GDScriptParser::DataType::SCRIPT: {