Fix #138084: closure and bundles show up in UI even if disabled

This commit is contained in:
Jacques Lucke
2025-04-29 11:40:18 +02:00
parent 127fbaa0e6
commit 1f0eeea2b2
4 changed files with 21 additions and 0 deletions

View File

@@ -369,6 +369,12 @@ static bool is_socket_type_supported(blender::bke::bNodeTreeType *ntreetype,
return false;
}
if (!U.experimental.use_bundle_and_closure_nodes) {
if (ELEM(socket_type->type, SOCK_BUNDLE, SOCK_CLOSURE)) {
return false;
}
}
return true;
}

View File

@@ -326,6 +326,11 @@ static void node_rna(StructRNA *srna)
*r_free = true;
return enum_items_filter(rna_enum_node_socket_data_type_items,
[](const EnumPropertyItem &item) -> bool {
if (!U.experimental.use_bundle_and_closure_nodes) {
if (ELEM(item.value, SOCK_BUNDLE, SOCK_CLOSURE)) {
return false;
}
}
return ELEM(item.value,
SOCK_FLOAT,
SOCK_INT,

View File

@@ -33,6 +33,11 @@ NODE_STORAGE_FUNCS(NodeMenuSwitch)
static bool is_supported_socket_type(const eNodeSocketDatatype data_type)
{
if (!U.experimental.use_bundle_and_closure_nodes) {
if (ELEM(data_type, SOCK_BUNDLE, SOCK_CLOSURE)) {
return false;
}
}
return ELEM(data_type,
SOCK_FLOAT,
SOCK_INT,

View File

@@ -225,6 +225,11 @@ static void node_rna(StructRNA *srna)
*r_free = true;
return enum_items_filter(rna_enum_node_socket_data_type_items,
[](const EnumPropertyItem &item) -> bool {
if (!U.experimental.use_bundle_and_closure_nodes) {
if (ELEM(item.value, SOCK_BUNDLE, SOCK_CLOSURE)) {
return false;
}
}
return ELEM(item.value,
SOCK_FLOAT,
SOCK_INT,