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:
Lukas Tönne
2024-01-29 15:32:52 +01:00
parent 7aca9a1ebb
commit 7163873420
@@ -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__);