Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-08-02 20:01:05 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-08-02 20:01:05 +0400
commit7aa44d088fcfb866ab58a6ed3d359a8acd6fe972 (patch)
tree9b49dfcac4fea55e80c01e43e5499c0bb275003b
parent64aa98643d9de3879898c7120ecd5cb72f61c4b7 (diff)
Node selection: make node active before it could be unselected by extending
selection, which matches behavior of all other areas in blender.
-rw-r--r--source/blender/editors/space_node/node_select.c14
1 files 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;
}
}