From ee86f7fe159b5f90978b4931c4262a4aa95afab7 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 3 Aug 2012 23:44:19 +0000 Subject: dont re-combute composite nodes when knife and add-socket operators don't add any links. --- source/blender/editors/space_node/node_add.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'source/blender/editors/space_node/node_add.c') diff --git a/source/blender/editors/space_node/node_add.c b/source/blender/editors/space_node/node_add.c index 20429d832b5..c7bc9146965 100644 --- a/source/blender/editors/space_node/node_add.c +++ b/source/blender/editors/space_node/node_add.c @@ -155,13 +155,14 @@ static int add_reroute_exec(bContext *C, wmOperator *op) bNodeLink *link; float insertPoint[2]; - ED_preview_kill_jobs(C); - for (link = snode->edittree->links.first; link; link = link->next) { if (add_reroute_intersect_check(link, mcoords, i, insertPoint)) { bNodeTemplate ntemp; bNode *rerouteNode; + /* always first */ + ED_preview_kill_jobs(C); + node_deselect_all(snode); ntemp.type = NODE_REROUTE; @@ -178,15 +179,17 @@ static int add_reroute_exec(bContext *C, wmOperator *op) link->fromnode = rerouteNode; link->fromsock = rerouteNode->outputs.first; - break; // add one reroute at the time. + /* always last */ + ntreeUpdateTree(snode->edittree); + snode_notify(C, snode); + snode_dag_update(C, snode); + + return OPERATOR_FINISHED; // add one reroute at the time. } } - ntreeUpdateTree(snode->edittree); - snode_notify(C, snode); - snode_dag_update(C, snode); + return OPERATOR_CANCELLED; - return OPERATOR_FINISHED; } return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH; -- cgit v1.2.3