diff options
author | Campbell Barton <campbell@blender.org> | 2022-07-21 05:52:24 +0300 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2022-07-21 12:55:54 +0300 |
commit | 9d38a2d21c97e30321b911ec1f1843f9d0ad87c2 (patch) | |
tree | 35e896e03311ab95159de51319d187341558470f | |
parent | 22d276a5dce2e9bbe248796a903af4314ce723bd (diff) |
Fix T99678: Crash applying non-existent modifiers
Regression in [0] accessed the modifier type before NULL check.
[0]: 78fc5ea1c398f70d22cda72be33c105146c0d542
-rw-r--r-- | source/blender/editors/object/object_modifier.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/editors/object/object_modifier.cc b/source/blender/editors/object/object_modifier.cc index 175d5039e9c..2aba73f177b 100644 --- a/source/blender/editors/object/object_modifier.cc +++ b/source/blender/editors/object/object_modifier.cc @@ -1440,7 +1440,6 @@ static int modifier_apply_exec_ex(bContext *C, wmOperator *op, int apply_as, boo Scene *scene = CTX_data_scene(C); Object *ob = ED_object_active_context(C); ModifierData *md = edit_modifier_property_get(op, ob, 0); - const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type); const bool do_report = RNA_boolean_get(op->ptr, "report"); const bool do_single_user = RNA_boolean_get(op->ptr, "single_user"); const bool do_merge_customdata = RNA_boolean_get(op->ptr, "merge_customdata"); @@ -1449,6 +1448,8 @@ static int modifier_apply_exec_ex(bContext *C, wmOperator *op, int apply_as, boo return OPERATOR_CANCELLED; } + const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type); + if (do_single_user && ID_REAL_USERS(ob->data) > 1) { ED_object_single_obdata_user(bmain, scene, ob); BKE_main_id_newptr_and_tag_clear(bmain); |