From f29ff7fb7e19d8e8dd5dd01ac527f0675467fbf2 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Tue, 24 May 2022 11:55:31 +0200 Subject: Fix T98152: Named Attribute node changes data type for non-existant attributes Skip changing the data type in the node if it is not known. --- source/blender/editors/space_node/node_geometry_attribute_search.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/editors/space_node') diff --git a/source/blender/editors/space_node/node_geometry_attribute_search.cc b/source/blender/editors/space_node/node_geometry_attribute_search.cc index fee64da0459..9c0172cfabf 100644 --- a/source/blender/editors/space_node/node_geometry_attribute_search.cc +++ b/source/blender/editors/space_node/node_geometry_attribute_search.cc @@ -183,9 +183,9 @@ static void attribute_search_exec_fn(bContext *C, void *data_v, void *item_v) BLI_assert(socket->type == SOCK_STRING); /* For the attribute input node, also adjust the type and links connected to the output. */ - if (node->type == GEO_NODE_INPUT_NAMED_ATTRIBUTE) { + if (node->type == GEO_NODE_INPUT_NAMED_ATTRIBUTE && item->data_type.has_value()) { NodeGeometryInputNamedAttribute &storage = *(NodeGeometryInputNamedAttribute *)node->storage; - const CustomDataType new_type = data_type_in_attribute_input_node(item->data_type); + const CustomDataType new_type = data_type_in_attribute_input_node(*item->data_type); if (new_type != storage.data_type) { storage.data_type = new_type; /* Make the output socket with the new type on the attribute input node active. */ -- cgit v1.2.3