diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-04-04 15:19:36 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-04-04 15:19:36 +0400 |
commit | 1aa753ce8847c0f3bbee4e1de44b2fe75586c135 (patch) | |
tree | 3efb77c0fadcc24a0031d2f58ed27e51316e5c82 /source/blender | |
parent | 2a62a06e863270aa5635e4ae72ccd7c06f7fad1a (diff) |
Mask spline slide didn't respect auto-key
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/mask/mask_ops.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/editors/mask/mask_ops.c b/source/blender/editors/mask/mask_ops.c index 8011b296835..089b015cbe6 100644 --- a/source/blender/editors/mask/mask_ops.c +++ b/source/blender/editors/mask/mask_ops.c @@ -1011,6 +1011,7 @@ void MASK_OT_slide_point(wmOperatorType *ot) typedef struct SlideSplineCurvatureData { Mask *mask; + MaskLayer *mask_layer; MaskSpline *spline; MaskSplinePoint *point; float u; @@ -1085,6 +1086,7 @@ static SlideSplineCurvatureData *slide_spline_curvature_customdata( slide_data = MEM_callocN(sizeof(SlideSplineCurvatureData), "slide curvature slide"); slide_data->mask = mask; + slide_data->mask_layer = mask_layer; slide_data->spline = spline; slide_data->point = point; slide_data->u = u; @@ -1201,6 +1203,7 @@ static void slide_spline_solve_P2(const float u, static int slide_spline_curvature_modal(bContext *C, wmOperator *op, const wmEvent *event) { + Scene *scene = CTX_data_scene(C); const float margin = 0.2f; SlideSplineCurvatureData *slide_data = (SlideSplineCurvatureData *) op->customdata; float u = slide_data->u; @@ -1339,6 +1342,10 @@ static int slide_spline_curvature_modal(bContext *C, wmOperator *op, const wmEve case LEFTMOUSE: if (event->val == KM_RELEASE) { + /* dont key sliding feather uw's */ + if (IS_AUTOKEY_ON(scene)) { + ED_mask_layer_shape_auto_key(slide_data->mask_layer, CFRA); + } WM_event_add_notifier(C, NC_MASK | NA_EDITED, slide_data->mask); DAG_id_tag_update(&slide_data->mask->id, 0); |