diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-12-14 17:08:04 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-12-14 17:08:04 +0300 |
commit | 7b70ec6b9d088b6e7d5c2d937d9acd1ec026d38b (patch) | |
tree | 8bc8620ec7f4d75b71018efbf133951aca50fa0e | |
parent | be6bf5faf65801d917ef515b7394cac53cbe0715 (diff) |
Fix #20356: ctrl+1/2/.. could set multires levels outside limits.
-rw-r--r-- | release/scripts/op/object.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/release/scripts/op/object.py b/release/scripts/op/object.py index 64406fd0d5c..a6ab3dcc93f 100644 --- a/release/scripts/op/object.py +++ b/release/scripts/op/object.py @@ -94,11 +94,14 @@ class SubdivisionSet(bpy.types.Operator): level = self.properties.level ob = context.active_object for mod in ob.modifiers: - if mod.type == 'MULTIRES' and ob.mode == 'SCULPT': - if mod.sculpt_levels != level: - mod.sculpt_levels = level + if mod.type == 'MULTIRES': + if level < mod.total_levels: + if ob.mode == 'SCULPT' and mod.sculpt_levels != level: + mod.sculpt_levels = level + elif ob.mode == 'OBJECT' and mod.levels != level: + mod.levels = level return ('FINISHED',) - elif mod.type == 'SUBSURF' or mod.type == 'MULTIRES': + elif mod.type == 'SUBSURF': if mod.levels != level: mod.levels = level return ('FINISHED',) |