[Bf-blender-cvs] [d728c22181e] temp-enum-socket: add index outut
Jacques Lucke
noreply at git.blender.org
Mon Nov 8 16:07:04 CET 2021
Commit: d728c22181e5561570ba67e5803422f7763391b2
Author: Jacques Lucke
Date: Mon Nov 8 15:24:26 2021 +0100
Branches: temp-enum-socket
https://developer.blender.org/rBd728c22181e5561570ba67e5803422f7763391b2
add index outut
===================================================================
M source/blender/nodes/function/nodes/node_fn_enum.cc
===================================================================
diff --git a/source/blender/nodes/function/nodes/node_fn_enum.cc b/source/blender/nodes/function/nodes/node_fn_enum.cc
index 643fe3c9c59..3edd2ed898a 100644
--- a/source/blender/nodes/function/nodes/node_fn_enum.cc
+++ b/source/blender/nodes/function/nodes/node_fn_enum.cc
@@ -33,6 +33,8 @@ static void fn_node_enum_declare(NodeDeclarationBuilder &b)
return;
}
+ b.add_output<decl::Int>("Index");
+
EnumPropertyItem *items = nullptr;
int tot_items = 0;
@@ -68,12 +70,13 @@ static bool fn_node_enum_draw_socket(uiLayout *layout,
bNode *node,
bNodeSocket *socket)
{
- const int index = BLI_findindex(&node->outputs, socket);
- if (index == -1) {
+ const int socket_index = BLI_findindex(&node->outputs, socket);
+ if (socket_index <= 0) {
return false;
}
NodeFunctionEnum *storage = (NodeFunctionEnum *)node->storage;
- NodeFunctionEnumItem *item = (NodeFunctionEnumItem *)BLI_findlink(&storage->items, index);
+ NodeFunctionEnumItem *item = (NodeFunctionEnumItem *)BLI_findlink(&storage->items,
+ socket_index - 1);
PointerRNA item_ptr;
RNA_pointer_create(&ntree->id, &RNA_NodeFunctionEnumItem, item, &item_ptr);
uiItemR(layout, &item_ptr, "name", 0, "", ICON_NONE);
More information about the Bf-blender-cvs
mailing list