diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2015-04-08 15:35:46 +0300 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2015-04-08 15:36:25 +0300 |
commit | d249db9755182bd705c4ea331ccfffef8cf7e270 (patch) | |
tree | a439bb4acf25be60d6d3ecb1ea0f4594bdfe24b2 /source/blender | |
parent | 3b440dbf66afd33ad8ab6f8444a425ca59c6a5c3 (diff) |
Action editor proportional editing:
Fix crash when extending instead of translating
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index e11da84954b..1af214b8c77 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -3339,13 +3339,14 @@ static int count_fcurve_keys(FCurve *fcu, char side, float cfra, bool propedit) /* only include points that occur on the right side of cfra */ for (i = 0, bezt = fcu->bezt; i < fcu->totvert; i++, bezt++) { - if (bezt->f2 & SELECT) { + if (FrameOnMouseSide(side, bezt->vec[1][0], cfra)) { /* no need to adjust the handle selection since they are assumed * selected (like graph editor with SIPO_NOHANDLES) */ - if (FrameOnMouseSide(side, bezt->vec[1][0], cfra)) + if (bezt->f2 & SELECT) count++; + + count_all++; } - count_all++; } if (propedit && count > 0) @@ -3364,11 +3365,11 @@ static int count_gplayer_frames(bGPDlayer *gpl, char side, float cfra, bool prop /* only include points that occur on the right side of cfra */ for (gpf = gpl->frames.first; gpf; gpf = gpf->next) { - if (gpf->flag & GP_FRAME_SELECT) { - if (FrameOnMouseSide(side, (float)gpf->framenum, cfra)) + if (FrameOnMouseSide(side, (float)gpf->framenum, cfra)) { + if (gpf->flag & GP_FRAME_SELECT) count++; + count_all++; } - count_all++; } if (propedit && count > 0) @@ -3388,11 +3389,11 @@ static int count_masklayer_frames(MaskLayer *masklay, char side, float cfra, boo /* only include points that occur on the right side of cfra */ for (masklayer_shape = masklay->splines_shapes.first; masklayer_shape; masklayer_shape = masklayer_shape->next) { - if (masklayer_shape->flag & MASK_SHAPE_SELECT) { - if (FrameOnMouseSide(side, (float)masklayer_shape->frame, cfra)) + if (FrameOnMouseSide(side, (float)masklayer_shape->frame, cfra)) { + if (masklayer_shape->flag & MASK_SHAPE_SELECT) count++; + count_all++; } - count_all++; } if (propedit && count > 0) |