Fix T73597: LoopTools Relax disables merge in mirror modifier

This commit is contained in:
Vladimir Spivak 2020-02-04 23:51:31 +02:00
parent 742461b965
commit bb0936969d
Notes: blender-bot 2023-02-13 23:34:09 +01:00
Referenced by issue blender/blender#73865, Looptools Relax Operator changing mirror modifier settings
Referenced by issue blender/blender#73597, LoopTools Relax disables merge in mirror modifier
1 changed files with 6 additions and 3 deletions

View File

@ -23,7 +23,7 @@
bl_info = {
"name": "LoopTools",
"author": "Bart Crouch, Vladimir Spivak (cwolf3d)",
"version": (4, 7, 1),
"version": (4, 7, 2),
"blender": (2, 80, 0),
"location": "View3D > Sidebar > Edit Tab / Edit Mode Context Menu",
"warning": "",
@ -539,12 +539,13 @@ def get_derived_bmesh(object, bm):
derived = True
# disable other modifiers
show_viewport = [mod.name for mod in object.modifiers if mod.show_viewport]
merge = []
for mod in object.modifiers:
if mod.type != 'MIRROR':
mod.show_viewport = False
#leave the merge points untouched
if mod.type == 'MIRROR':
merge = mod.use_mirror_merge
merge.append(mod.use_mirror_merge)
mod.use_mirror_merge = False
# get derived mesh
bm_mod = bmesh.new()
@ -556,8 +557,10 @@ def get_derived_bmesh(object, bm):
# re-enable other modifiers
for mod_name in show_viewport:
object.modifiers[mod_name].show_viewport = True
merge.reverse()
for mod in object.modifiers:
if mod.type == 'MIRROR':
mod.use_mirror_merge = merge
mod.use_mirror_merge = merge.pop()
# no mirror modifiers, so no derived mesh necessary
else:
derived = False