[Bf-blender-cvs] [8d4da34883b] blender2.8: Fix T58267: node socket grabbing not working well with box select tool.

Brecht Van Lommel noreply at git.blender.org
Fri Nov 30 18:28:16 CET 2018


Commit: 8d4da34883b25195da28024dc51b2c9b3347d504
Author: Brecht Van Lommel
Date:   Fri Nov 30 18:27:04 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB8d4da34883b25195da28024dc51b2c9b3347d504

Fix T58267: node socket grabbing not working well with box select tool.

===================================================================

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 eb233f3fea1..465b7a6d789 100644
--- a/source/blender/editors/space_node/node_select.c
+++ b/source/blender/editors/space_node/node_select.c
@@ -560,16 +560,25 @@ static int node_box_select_invoke(bContext *C, wmOperator *op, const wmEvent *ev
 	const bool tweak = RNA_boolean_get(op->ptr, "tweak");
 
 	if (tweak) {
-		/* prevent initiating the box select if the mouse is over a node */
-		/* this allows box select on empty space, but drag-translate on nodes */
+		/* prevent initiating the box select if the mouse is over a node or
+		 * node socket. this allows box select on empty space, but drag-translate
+		 * on nodes */
 		SpaceNode *snode = CTX_wm_space_node(C);
 		ARegion *ar = CTX_wm_region(C);
-		float mx, my;
+		float mouse[2];
 
-		UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &mx, &my);
+		UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &mouse[0], &mouse[1]);
 
-		if (node_under_mouse_tweak(snode->edittree, mx, my))
+		if (node_under_mouse_tweak(snode->edittree, mouse[0], mouse[1])) {
 			return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;
+		}
+
+		bNode *node;
+		bNodeSocket *sock;
+
+		if (node_find_indicated_socket(snode, &node, &sock, mouse, SOCK_IN | SOCK_OUT)) {
+			return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;
+		}
 	}
 
 	return WM_gesture_box_invoke(C, op, event);



More information about the Bf-blender-cvs mailing list