Geometry Nodes: Fix memory leak when using empty menu switch nodes.
Connecting an empty menu to the node group inputs causes a memory leak. The `id_property_int_update_enum_items` function was always allocating a new `enum_items` list, but then discarding it if there are no enum items.
This commit is contained in:
@@ -178,7 +178,7 @@ static void id_property_int_update_enum_items(const bNodeSocketValueMenu *value,
|
||||
int idprop_items_num = 0;
|
||||
IDPropertyUIDataEnumItem *idprop_items = nullptr;
|
||||
|
||||
if (value->enum_items) {
|
||||
if (value->enum_items && !value->enum_items->items.is_empty()) {
|
||||
const Span<bke::RuntimeNodeEnumItem> items = value->enum_items->items;
|
||||
idprop_items_num = items.size();
|
||||
idprop_items = MEM_cnew_array<IDPropertyUIDataEnumItem>(items.size(), __func__);
|
||||
|
||||
Reference in New Issue
Block a user