Fix #141735: "Join as Shapes" operator too restrictive

Caused by 3d6ea7c075
Before that commit, it was possible to retrieve shape key data from
other objects with a different number of edges or faces. One crucial
case where that is important is when the other mesh is a triangulated
with otherwise the same vertex count.

In general it's better to be flexible and allow other changes besides
the vertex count, especially since that's such a simple check that users
can easily understand.

Pull Request: https://projects.blender.org/blender/blender/pulls/141794
This commit is contained in:
Hans Goudey
2025-07-14 14:28:22 +02:00
committed by Hans Goudey
parent 0cda7fbacf
commit 81cf923fe3

View File

@@ -733,7 +733,7 @@ wmOperatorStatus ED_mesh_shapes_join_objects_exec(bContext *C,
};
auto topology_count_matches = [](const Mesh &a, const Mesh &b) {
return a.verts_num == b.verts_num && a.edges_num == b.edges_num && a.faces_num == b.faces_num;
return a.verts_num == b.verts_num;
};
bool found_object = false;
@@ -773,9 +773,7 @@ wmOperatorStatus ED_mesh_shapes_join_objects_exec(bContext *C,
}
if (found_non_equal_count) {
BKE_report(reports,
RPT_WARNING,
"Selected meshes must have equal numbers of vertices, edges, and faces");
BKE_report(reports, RPT_WARNING, "Selected meshes must have equal numbers of vertices");
return OPERATOR_CANCELLED;
}