[Bf-blender-cvs] [1b24140d9fd] geometry-nodes-simulation: Cleanup: Remove redundant information from node link drag struct

Hans Goudey noreply at git.blender.org
Mon Dec 19 19:05:25 CET 2022


Commit: 1b24140d9fdc23f797d313b982629abc89c0ae51
Author: Hans Goudey
Date:   Fri Dec 16 12:57:15 2022 -0600
Branches: geometry-nodes-simulation
https://developer.blender.org/rB1b24140d9fdc23f797d313b982629abc89c0ae51

Cleanup: Remove redundant information from node link drag struct

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

M	source/blender/editors/space_node/node_intern.hh
M	source/blender/editors/space_node/node_relationships.cc

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

diff --git a/source/blender/editors/space_node/node_intern.hh b/source/blender/editors/space_node/node_intern.hh
index 1a6859a3078..a4eb0c12713 100644
--- a/source/blender/editors/space_node/node_intern.hh
+++ b/source/blender/editors/space_node/node_intern.hh
@@ -44,7 +44,6 @@ struct AssetItemTree;
 struct bNodeLinkDrag {
   /** Links dragged by the operator. */
   Vector<bNodeLink *> links;
-  bool from_multi_input_socket;
   eNodeSocketInOut in_out;
 
   /** Draw handler for the "+" icon when dragging a link in empty space. */
diff --git a/source/blender/editors/space_node/node_relationships.cc b/source/blender/editors/space_node/node_relationships.cc
index ea6502dbf00..5f42f75e1d2 100644
--- a/source/blender/editors/space_node/node_relationships.cc
+++ b/source/blender/editors/space_node/node_relationships.cc
@@ -98,7 +98,6 @@ static void pick_link(
     wmOperator &op, bNodeLinkDrag &nldrag, SpaceNode &snode, bNode *node, bNodeLink &link_to_pick)
 {
   clear_picking_highlight(&snode.edittree->links);
-  RNA_boolean_set(op.ptr, "has_link_picked", true);
 
   bNodeLink *link = create_drag_link(*link_to_pick.fromnode, *link_to_pick.fromsock);
 
@@ -1032,7 +1031,7 @@ static int node_link_modal(bContext *C, wmOperator *op, const wmEvent *event)
 
   switch (event->type) {
     case MOUSEMOVE:
-      if (nldrag->from_multi_input_socket && !RNA_boolean_get(op->ptr, "has_link_picked")) {
+      if (nldrag->start_socket->is_multi_input() && nldrag->links.is_empty()) {
         pick_input_link_by_link_intersect(*C, *op, *nldrag, cursor);
       }
       else {
@@ -1137,14 +1136,11 @@ static std::unique_ptr<bNodeLinkDrag> node_link_init(SpaceNode &snode,
       bNodeLink *link_to_pick;
       LISTBASE_FOREACH_MUTABLE (bNodeLink *, link, &snode.edittree->links) {
         if (link->tosock == sock) {
-          if (sock->flag & SOCK_MULTI_INPUT) {
-            nldrag->from_multi_input_socket = true;
-          }
           link_to_pick = link;
         }
       }
 
-      if (link_to_pick != nullptr && !nldrag->from_multi_input_socket) {
+      if (link_to_pick != nullptr && !nldrag->start_socket->is_multi_input()) {
         bNodeLink *oplink = MEM_cnew<bNodeLink>("drag link op link");
         *oplink = *link_to_pick;
         oplink->next = oplink->prev = nullptr;
@@ -1185,7 +1181,6 @@ static int node_link_invoke(bContext *C, wmOperator *op, const wmEvent *event)
   float2 cursor;
   UI_view2d_region_to_view(&region.v2d, mval[0], mval[1], &cursor[0], &cursor[1]);
   RNA_float_set_array(op->ptr, "drag_start", cursor);
-  RNA_boolean_set(op->ptr, "has_link_picked", false);
 
   ED_preview_kill_jobs(CTX_wm_manager(C), &bmain);
 
@@ -1241,14 +1236,6 @@ void NODE_OT_link(wmOperatorType *ot)
   PropertyRNA *prop;
 
   RNA_def_boolean(ot->srna, "detach", false, "Detach", "Detach and redirect existing links");
-  prop = RNA_def_boolean(
-      ot->srna,
-      "has_link_picked",
-      false,
-      "Has Link Picked",
-      "The operation has placed a link. Only used for multi-input sockets, where the "
-      "link is picked later");
-  RNA_def_property_flag(prop, PROP_HIDDEN);
   RNA_def_float_array(ot->srna,
                       "drag_start",
                       2,



More information about the Bf-blender-cvs mailing list