[Bf-blender-cvs] [9992096c497] blender-v3.4-release: Fix T103208: unavailable socket linked to multi-input socket crashes

Iliya Katueshenock noreply at git.blender.org
Wed Dec 14 22:45:53 CET 2022


Commit: 9992096c497255f173a79a69eb8ad7af50d9d17d
Author: Iliya Katueshenock
Date:   Wed Dec 14 18:28:07 2022 +0100
Branches: blender-v3.4-release
https://developer.blender.org/rB9992096c497255f173a79a69eb8ad7af50d9d17d

Fix T103208: unavailable socket linked to multi-input socket crashes

Differential Revision: https://developer.blender.org/D16772

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

M	source/blender/nodes/intern/geometry_nodes_lazy_function.cc

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

diff --git a/source/blender/nodes/intern/geometry_nodes_lazy_function.cc b/source/blender/nodes/intern/geometry_nodes_lazy_function.cc
index 96c369f2f6b..367c66f99b6 100644
--- a/source/blender/nodes/intern/geometry_nodes_lazy_function.cc
+++ b/source/blender/nodes/intern/geometry_nodes_lazy_function.cc
@@ -160,9 +160,11 @@ class LazyFunctionForMultiInput : public LazyFunction {
     BLI_assert(socket.is_multi_input());
     const bNodeTree &btree = socket.owner_tree();
     for (const bNodeLink *link : socket.directly_linked_links()) {
-      if (!(link->is_muted() || nodeIsDanglingReroute(&btree, link->fromnode))) {
-        inputs_.append({"Input", *base_type_});
+      if (link->is_muted() || !link->fromsock->is_available() ||
+          nodeIsDanglingReroute(&btree, link->fromnode)) {
+        continue;
       }
+      inputs_.append({"Input", *base_type_});
     }
     const CPPType *vector_type = get_vector_type(*base_type_);
     BLI_assert(vector_type != nullptr);



More information about the Bf-blender-cvs mailing list