diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-11-13 18:58:32 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-11-13 19:15:54 +0300 |
commit | fe86375d1c636a6ba95f0f9e9a0b4a9fdd883030 (patch) | |
tree | 70628766de93097ebdb5acada41d1ff4bb187a42 /source/blender/blenkernel/intern/DerivedMesh.c | |
parent | c7b77222542ce2e4eda548c51aa33013dddc0480 (diff) |
Force sculpting on highest multires level
This is a workaround for T58473 to avoid likely event of ruining
sculpted data.
Differential Revision: https://developer.blender.org/D6244
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index cc9db5eafb5..9682ea74cfb 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -918,7 +918,7 @@ static void mesh_calc_modifiers(struct Depsgraph *depsgraph, /* Sculpt can skip certain modifiers. */ MultiresModifierData *mmd = get_multires_modifier(scene, ob, 0); - const bool has_multires = (mmd && mmd->sculptlvl != 0); + const bool has_multires = (mmd && BKE_multires_sculpt_level_get(mmd) != 0); bool multires_applied = false; const bool sculpt_mode = ob->mode & OB_MODE_SCULPT && ob->sculpt && !use_render; const bool sculpt_dyntopo = (sculpt_mode && ob->sculpt->bm) && !use_render; @@ -1036,7 +1036,8 @@ static void mesh_calc_modifiers(struct Depsgraph *depsgraph, if (sculpt_mode && (!has_multires || multires_applied || sculpt_dyntopo)) { bool unsupported = false; - if (md->type == eModifierType_Multires && ((MultiresModifierData *)md)->sculptlvl == 0) { + if (md->type == eModifierType_Multires && + BKE_multires_sculpt_level_get((MultiresModifierData *)md) == 0) { /* If multires is on level 0 skip it silently without warning message. */ if (!sculpt_dyntopo) { continue; |