diff options
author | Campbell Barton <campbell@blender.org> | 2022-07-21 05:52:24 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-07-21 05:52:24 +0300 |
commit | e75adb979b0acefbf5f01b83f4139d6a43163b92 (patch) | |
tree | 2b66f7313b81e6ea99208f020b436bb0af4e3c09 /source/blender/editors | |
parent | 9f6836924739049384116d5b8054811b08bb0d97 (diff) |
Fix T99678: Crash applying non-existent modifiers
Regression in [0] accessed the modifier type before NULL check.
[0]: 78fc5ea1c398f70d22cda72be33c105146c0d542
Diffstat (limited to 'source/blender/editors')
-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 69edd00ae24..a3a41a5c5b1 100644 --- a/source/blender/editors/object/object_modifier.cc +++ b/source/blender/editors/object/object_modifier.cc @@ -1439,7 +1439,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"); @@ -1448,6 +1447,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); |