diff options
Diffstat (limited to 'release/scripts/modules/bpy_extras/anim_utils.py')
-rw-r--r-- | release/scripts/modules/bpy_extras/anim_utils.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/release/scripts/modules/bpy_extras/anim_utils.py b/release/scripts/modules/bpy_extras/anim_utils.py index e402c9cb53c..c67134ac3f6 100644 --- a/release/scripts/modules/bpy_extras/anim_utils.py +++ b/release/scripts/modules/bpy_extras/anim_utils.py @@ -249,11 +249,17 @@ def bake_action_iter( if action is None: action = bpy.data.actions.new("Action") - # Leave tweak mode before trying to modify the action (T48397) - if atd.use_tweak_mode: - atd.use_tweak_mode = False + # Only leave tweak mode if we actually need to modify the action (T57159) + if action != atd.action: + # Leave tweak mode before trying to modify the action (T48397) + if atd.use_tweak_mode: + atd.use_tweak_mode = False - atd.action = action + atd.action = action + + # Baking the action only makes sense in Replace mode, so force it (T69105) + if not atd.use_tweak_mode: + atd.action_blend_type = 'REPLACE' # ------------------------------------------------------------------------- # Apply transformations to action |