Commit: 96ce1e9a95892d4514aef8415a8b07dfee451a13
Author: Hans Goudey
Date: Sat Nov 14 20:09:27 2020 -0500
Branches: geometry-nodes
https://developer.blender.org/rB96ce1e9a95892d4514aef8415a8b07dfee451a13
Geometry Nodes: Improve node group output modifier error
More than output for the modifier's node group is fine, because the
node group may be used in other situations, but the modifier will
not work if there is no geometry output socket.
===================================================================
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 4204b0e1013..4682026e23f 100644
--- a/source/blender/modifiers/intern/MOD_nodes.cc
+++ b/source/blender/modifiers/intern/MOD_nodes.cc
@@ -813,8 +813,15 @@ static void check_property_socket_sync(const Object *ob,
ModifierData *md)
}
}
- if (!BLI_listbase_is_single(&nmd->node_group->outputs)) {
- BKE_modifier_set_error(ob, md, "The node group must have a single geometry
output");
+ bool has_geometry_output = false;
+ LISTBASE_FOREACH (const bNodeSocket *, socket, &nmd->node_group->outputs) {
+ if (socket->type == SOCK_GEOMETRY) {
+ has_geometry_output = true;
+ }
+ }
+
+ if (!has_geometry_output) {
+ BKE_modifier_set_error(ob, md, "The node group must have a geometry
output");
}
}
@@ -852,7 +859,7 @@ static GeometrySetPtr modifyGeometry(ModifierData *md,
Span<const DOutputSocket *>{};
Span<const DInputSocket *> group_outputs =
output_nodes[0]->inputs().drop_back(1);
- if (group_outputs.size() != 1) {
+ if (group_outputs.size() == 0) {
return input_geometry_set;
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs