Fix T98403: Crash applying modifiers on non-mesh objects

The operator assumed it was called on a mesh object, which has
mostly been the case because of lack of support for other object
types, but the new curves object is supported, which is the situation
in the report.

Differential Revision: https://developer.blender.org/D15063
This commit is contained in:
Hans Goudey 2022-05-31 10:05:41 +02:00
parent 1ebc0ebdc0
commit 18a17d4291
Notes: blender-bot 2023-02-14 04:56:36 +01:00
Referenced by issue #98403, Mesh to Volume and Volume Displace modifiers crash with the new Hair Curve when pressing apply
Referenced by issue #97542, Regression: Hair Particles Freeze Entire MacOS!
1 changed files with 7 additions and 7 deletions

View File

@ -1468,7 +1468,7 @@ static int modifier_apply_exec_ex(bContext *C, wmOperator *op, int apply_as, boo
return OPERATOR_CANCELLED;
}
if (do_merge_customdata &&
if (ob->type == OB_MESH && do_merge_customdata &&
(mti->type & (eModifierTypeType_Constructive | eModifierTypeType_Nonconstructive))) {
BKE_mesh_merge_customdata_for_apply_modifier((Mesh *)ob->data);
}
@ -1531,12 +1531,12 @@ void OBJECT_OT_modifier_apply(wmOperatorType *ot)
edit_modifier_properties(ot);
edit_modifier_report_property(ot);
RNA_def_boolean(
ot->srna,
"merge_customdata",
true,
"Merge UV's",
"Merge UV coordinates that share a vertex to account for imprecision in some modifiers");
RNA_def_boolean(ot->srna,
"merge_customdata",
true,
"Merge UV's",
"For mesh objects, merge UV coordinates that share a vertex to account for "
"imprecision in some modifiers");
PropertyRNA *prop = RNA_def_boolean(ot->srna,
"single_user",
false,