From 7aa44d088fcfb866ab58a6ed3d359a8acd6fe972 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 2 Aug 2012 16:01:05 +0000 Subject: Node selection: make node active before it could be unselected by extending selection, which matches behavior of all other areas in blender. --- source/blender/editors/space_node/node_select.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c index 603603b9f07..71739d97508 100644 --- a/source/blender/editors/space_node/node_select.c +++ b/source/blender/editors/space_node/node_select.c @@ -368,9 +368,17 @@ static int node_mouse_select(Main *bmain, SpaceNode *snode, ARegion *ar, const i node = node_under_mouse_select(snode->edittree, mx, my); if (node) { - node_toggle(node); - - ED_node_set_active(bmain, snode->edittree, node); + if ((node->flag & SELECT) && (node->flag & NODE_ACTIVE) == 0) { + /* if node is selected but not active make it active + * before it'll be desleected + */ + ED_node_set_active(bmain, snode->edittree, node); + } + else { + node_toggle(node); + ED_node_set_active(bmain, snode->edittree, node); + } + selected = 1; } } -- cgit v1.2.3