diff options
Diffstat (limited to 'source/blender/editors/space_node/space_node.c')
-rw-r--r-- | source/blender/editors/space_node/space_node.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index 66919935d48..e069ba2a5fc 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -468,7 +468,7 @@ static void node_region_listener(ARegion *ar, wmNotifier *wmn) } } -const char *node_context_dir[] = {"selected_nodes", NULL}; +const char *node_context_dir[] = {"selected_nodes", "active_node", NULL}; static int node_context(const bContext *C, const char *member, bContextDataResult *result) { @@ -492,16 +492,11 @@ static int node_context(const bContext *C, const char *member, bContextDataResul return 1; } else if (CTX_data_equals(member, "active_node")) { - bNode *node; - if (snode->edittree) { - for (node=snode->edittree->nodes.last; node; node=node->prev) { - if (node->flag & NODE_ACTIVE) { - CTX_data_pointer_set(result, &snode->edittree->id, &RNA_Node, node); - break; - } - } + bNode *node = nodeGetActive(snode->edittree); + CTX_data_pointer_set(result, &snode->edittree->id, &RNA_Node, node); } + CTX_data_type_set(result, CTX_DATA_TYPE_POINTER); return 1; } |