Node selection: make node active before it could be unselected by extending

selection, which matches behavior of all other areas in blender.
This commit is contained in:
Sergey Sharybin 2012-08-02 16:01:05 +00:00
parent 64aa98643d
commit 7aa44d088f

@ -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;
}
}