[Bf-blender-cvs] [4ff1011] master: Node Border Select: only frames inside border
Campbell Barton
noreply at git.blender.org
Fri Oct 23 16:16:38 CEST 2015
Commit: 4ff10119f79170f1d297361e8afd8cae732ea1f1
Author: Campbell Barton
Date: Sat Oct 24 01:06:28 2015 +1100
Branches: master
https://developer.blender.org/rB4ff10119f79170f1d297361e8afd8cae732ea1f1
Node Border Select: only frames inside border
Without this you can't easily select a few nodes inside a frame,
without selecting the whole frame, noted in T46540
===================================================================
M source/blender/editors/space_node/node_select.c
===================================================================
diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c
index 78302fe..e2968b7 100644
--- a/source/blender/editors/space_node/node_select.c
+++ b/source/blender/editors/space_node/node_select.c
@@ -531,7 +531,15 @@ static int node_borderselect_exec(bContext *C, wmOperator *op)
UI_view2d_region_to_view_rctf(&ar->v2d, &rectf, &rectf);
for (node = snode->edittree->nodes.first; node; node = node->next) {
- if (BLI_rctf_isect(&rectf, &node->totr, NULL)) {
+ bool select;
+ if (node->type == NODE_FRAME) {
+ select = BLI_rctf_inside_rctf(&rectf, &node->totr);
+ }
+ else {
+ select = BLI_rctf_isect(&rectf, &node->totr, NULL);
+ }
+
+ if (select) {
nodeSetSelected(node, (gesture_mode == GESTURE_MODAL_SELECT));
}
else if (!extend) {
More information about the Bf-blender-cvs
mailing list