diff options
author | Hans Goudey <h.goudey@me.com> | 2022-09-03 01:37:10 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-09-03 01:45:29 +0300 |
commit | aa08545a019606e9155d62144ffc773c787e31b9 (patch) | |
tree | 87528a6d21cb199c25ccbb1456f9745e4c75103e /source/blender/editors/space_node/node_group.cc | |
parent | a736ca33ab08bc72d17418d0e55c164aa8e306d8 (diff) |
Cleanup: Use new node topology cache for sorting multi input sockets
Assuming the cost of building the cache is ammortized, this
may be be helpful because it removes some quadratic behavior.
Diffstat (limited to 'source/blender/editors/space_node/node_group.cc')
-rw-r--r-- | source/blender/editors/space_node/node_group.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/editors/space_node/node_group.cc b/source/blender/editors/space_node/node_group.cc index 3a2c2c7a9da..0edeac574df 100644 --- a/source/blender/editors/space_node/node_group.cc +++ b/source/blender/editors/space_node/node_group.cc @@ -653,7 +653,7 @@ static bool node_group_make_use_node(bNode &node, bNode *gnode) static bool node_group_make_test_selected(bNodeTree &ntree, bNode *gnode, const char *ntree_idname, - ReportList &reports) + ReportList &reports) { int ok = true; @@ -1042,8 +1042,10 @@ static int node_group_make_exec(bContext *C, wmOperator *op) nodeSetActive(&ntree, gnode); if (ngroup) { ED_node_tree_push(&snode, ngroup, gnode); + + ngroup->ensure_topology_cache(); LISTBASE_FOREACH (bNode *, node, &ngroup->nodes) { - sort_multi_input_socket_links(snode, *node, nullptr, nullptr); + sort_multi_input_socket_links(*node, nullptr, nullptr); } } } |