[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