Commit: 3e4a7f4366433842880dc06895d699a54838ad5d
Author: Sergey Sharybin
Date:   Wed Aug 26 15:06:21 2015 +0200
Branches: master
https://developer.blender.org/rB3e4a7f4366433842880dc06895d699a54838ad5d

Fix T45275: F-Curve normalization might corrupt animation

===================================================================

M       source/blender/editors/animation/anim_draw.c

===================================================================

diff --git a/source/blender/editors/animation/anim_draw.c 
b/source/blender/editors/animation/anim_draw.c
index 33a5447..ed3d228 100644
--- a/source/blender/editors/animation/anim_draw.c
+++ b/source/blender/editors/animation/anim_draw.c
@@ -289,12 +289,22 @@ static float normalization_factor_get(Scene *scene, 
FCurve *fcu, short flag, flo
        if (flag & ANIM_UNITCONV_NORMALIZE_FREEZE) {
                if (r_offset)
                        *r_offset = fcu->prev_offset;
+               if (fcu->prev_norm_factor == 0.0f) {
+                       /* Happens when Auto Normalize was disabled before
+                        * any curves were displayed.
+                        */
+                       return 1.0f;
+               }
                return fcu->prev_norm_factor;
        }
 
        if (G.moving & G_TRANSFORM_FCURVES) {
                if (r_offset)
                        *r_offset = fcu->prev_offset;
+               if (fcu->prev_norm_factor == 0.0f) {
+                       /* Same as above. */
+                       return 1.0f;
+               }
                return fcu->prev_norm_factor;
        }
 
@@ -342,7 +352,7 @@ static float normalization_factor_get(Scene *scene, FCurve 
*fcu, short flag, flo
                }
                offset = -min_coord - range / 2.0f;
        }
-
+       BLI_assert(factor != 0.0f);
        if (r_offset) {
                *r_offset = offset;
        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to