diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2012-07-19 12:23:56 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2012-07-19 12:23:56 +0400 |
commit | 2721a17a31e780b70cc0421c552217134320da80 (patch) | |
tree | a9420272359eb2666d0fe3eeb83c5ae3e793e1c8 /source/blender/editors/space_node/node_edit.c | |
parent | 21c08954668d0acf26db26e66777b84f6c6c17d1 (diff) |
Fix #32118, Reroute nodes inside groups get created in wonky places. The operator needs to take into account the potential offset from the group node (most operators use the node_add_node helper function which does this).
Diffstat (limited to 'source/blender/editors/space_node/node_edit.c')
-rw-r--r-- | source/blender/editors/space_node/node_edit.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 8b7251c2018..512781f9b77 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -3142,6 +3142,7 @@ static int add_reroute_exec(bContext *C, wmOperator *op) { SpaceNode *snode = CTX_wm_space_node(C); ARegion *ar = CTX_wm_region(C); + bNode *gnode = node_tree_get_editgroup(snode->nodetree); float mcoords[256][2]; int i = 0; @@ -3174,6 +3175,10 @@ static int add_reroute_exec(bContext *C, wmOperator *op) rerouteNode = nodeAddNode(snode->edittree, &ntemp); rerouteNode->locx = insertPoint[0]; rerouteNode->locy = insertPoint[1]; + if (gnode) { + rerouteNode->locx -= gnode->locx; + rerouteNode->locy -= gnode->locy; + } nodeAddLink(snode->edittree, link->fromnode, link->fromsock, rerouteNode, rerouteNode->inputs.first); link->fromnode = rerouteNode; |