Commit: f30e1fd2f0648d6c88bc61142ecc003ffa33ce11
Author: Hans Goudey
Date:   Tue Nov 16 14:51:03 2021 -0600
Branches: blender-v3.0-release
https://developer.blender.org/rBf30e1fd2f0648d6c88bc61142ecc003ffa33ce11

Fix T93085: Incorrect geometry nodes modifier warning

It's valid for a node group connected to the modifier not to
have a geometry input, but I didn't consider that case
with the last change I made here, f3bdabbe24fe591dc9.

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

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

M       source/blender/modifiers/intern/MOD_nodes.cc

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

diff --git a/source/blender/modifiers/intern/MOD_nodes.cc 
b/source/blender/modifiers/intern/MOD_nodes.cc
index 70f6020f5a9..c1cdfa43920 100644
--- a/source/blender/modifiers/intern/MOD_nodes.cc
+++ b/source/blender/modifiers/intern/MOD_nodes.cc
@@ -1031,11 +1031,9 @@ static void check_property_socket_sync(const Object *ob, 
ModifierData *md)
   int i;
   LISTBASE_FOREACH_INDEX (const bNodeSocket *, socket, 
&nmd->node_group->inputs, i) {
     /* The first socket is the special geometry socket for the modifier 
object. */
-    if (i == 0) {
-      if (socket->type == SOCK_GEOMETRY) {
-        continue;
-      }
-      BKE_modifier_set_error(ob, md, "The first node group input must be a 
geometry");
+    if (i == 0 && socket->type == SOCK_GEOMETRY) {
+      geometry_socket_count++;
+      continue;
     }
 
     IDProperty *property = IDP_GetPropertyFromGroup(nmd->settings.properties, 
socket->identifier);
@@ -1056,7 +1054,12 @@ static void check_property_socket_sync(const Object *ob, 
ModifierData *md)
     }
   }
 
-  if (geometry_socket_count > 1) {
+  if (geometry_socket_count == 1) {
+    if (((bNodeSocket *)nmd->node_group->inputs.first)->type != SOCK_GEOMETRY) 
{
+      BKE_modifier_set_error(ob, md, "Node group's geometry input must be the 
first");
+    }
+  }
+  else if (geometry_socket_count > 1) {
     BKE_modifier_set_error(ob, md, "Node group can only have one geometry 
input");
   }
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to