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/multires.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/multires.c')
-rw-r--r-- | source/blender/blenkernel/intern/multires.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index 6a5e31bd2a2..a539aa45cf6 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -347,7 +347,7 @@ int multires_get_level(const Scene *scene, mmd->renderlvl; } else if (ob->mode == OB_MODE_SCULPT) { - return mmd->sculptlvl; + return BKE_multires_sculpt_level_get(mmd); } else if (ignore_simplify) { return mmd->lvl; @@ -2557,3 +2557,12 @@ int mdisp_rot_face_to_crn(struct MVert *UNUSED(mvert), return S; } + +/* This is a workaround for T58473. + * Force sculpting on the highest level for until the root of the issue is solved. + * + * When that issue is solved simple replace call of this function with mmd->sculptlvl. */ +int BKE_multires_sculpt_level_get(const struct MultiresModifierData *mmd) +{ + return mmd->totlvl; +} |