diff options
author | Matt Ebb <matt@mke3.net> | 2010-03-29 11:15:12 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-03-29 11:15:12 +0400 |
commit | f4dcd1d570272a6bb8350a685d9539a0534fe551 (patch) | |
tree | 5c95c0518177ae58e2d93ff05f27f4b999869cea /source/blender/editors | |
parent | 86b30beb45fbdfd74bc7cef38a6098a2205b954d (diff) |
Fix [#21706] edit field in nodegroup which overlaps a node, edits the field of the overlapped node
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_node/node_draw.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index 50f9d84ce71..f4c9353ff92 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -394,9 +394,6 @@ static void node_update_group(const bContext *C, bNodeTree *ntree, bNode *gnode) rctf *rect= &gnode->totr; int counter; - /* init ui blocks for sub-nodetrees */ - node_uiblocks_init(C, ngroup); - /* center them, is a bit of abuse of locx and locy though */ for(node= ngroup->nodes.first; node; node= node->next) { node->locx+= gnode->locx; @@ -1099,8 +1096,16 @@ void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d) if(snode->nodetree) { bNode *node; + /* init ui blocks for opened node group trees first + * so they're in the correct depth stack order */ + for(node= snode->nodetree->nodes.first; node; node= node->next) { + if(node->flag & NODE_GROUP_EDIT) + node_uiblocks_init(C, (bNodeTree *)node->id); + } + node_uiblocks_init(C, snode->nodetree); + /* for now, we set drawing coordinates on each redraw */ for(node= snode->nodetree->nodes.first; node; node= node->next) { if(node->flag & NODE_GROUP_EDIT) |