[Bf-blender-cvs] [18b6f0d0f18] master: Fix T92264: incorrect field inferencing when muting link between reroutes

Jacques Lucke noreply at git.blender.org
Wed Oct 27 12:43:13 CEST 2021


Commit: 18b6f0d0f18732a071b75ad56a2475c383d19111
Author: Jacques Lucke
Date:   Wed Oct 27 12:43:04 2021 +0200
Branches: master
https://developer.blender.org/rB18b6f0d0f18732a071b75ad56a2475c383d19111

Fix T92264: incorrect field inferencing when muting link between reroutes

Previously, muted links were just ignored considered by field inferencing.
Now muted links behave like normal links in the inferencing process.

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

M	source/blender/blenkernel/intern/node.cc

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

diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc
index 95192003f9f..3297bf29ee4 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -4679,7 +4679,7 @@ static OutputFieldDependency find_group_output_dependencies(
   while (!sockets_to_check.is_empty()) {
     const InputSocketRef *input_socket = sockets_to_check.pop();
 
-    for (const OutputSocketRef *origin_socket : input_socket->logically_linked_sockets()) {
+    for (const OutputSocketRef *origin_socket : input_socket->directly_linked_sockets()) {
       const NodeRef &origin_node = origin_socket->node();
       const SocketFieldState &origin_state = field_state_by_socket_id[origin_socket->id()];
 
@@ -4848,14 +4848,14 @@ static void propagate_field_status_from_left_to_right(
         continue;
       }
       state.is_single = true;
-      if (input_socket->logically_linked_sockets().is_empty()) {
+      if (input_socket->directly_linked_sockets().is_empty()) {
         if (inferencing_interface.inputs[input_socket->index()] ==
             InputSocketFieldType::Implicit) {
           state.is_single = false;
         }
       }
       else {
-        for (const OutputSocketRef *origin_socket : input_socket->logically_linked_sockets()) {
+        for (const OutputSocketRef *origin_socket : input_socket->directly_linked_sockets()) {
           if (!field_state_by_socket_id[origin_socket->id()].is_single) {
             state.is_single = false;
             break;



More information about the Bf-blender-cvs mailing list