From fe86375d1c636a6ba95f0f9e9a0b4a9fdd883030 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 13 Nov 2019 16:58:32 +0100 Subject: 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 --- source/blender/blenkernel/intern/multires.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/multires.c') 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; +} -- cgit v1.2.3