From 54b2d1e1ffaee4384259c1f79c27d93d0042e302 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 1 Jun 2012 12:30:27 +0000 Subject: [PATCH] Small change to mask slide operator: if current weight goes below zero, higher weights are still getting affected by weight delta. --- source/blender/editors/mask/mask_ops.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/source/blender/editors/mask/mask_ops.c b/source/blender/editors/mask/mask_ops.c index 410b8d10c88..010066f705f 100644 --- a/source/blender/editors/mask/mask_ops.c +++ b/source/blender/editors/mask/mask_ops.c @@ -852,11 +852,13 @@ static int slide_point_modal(bContext *C, wmOperator *op, wmEvent *event) w = len_v2(vec); - if (dot_v2v2(no, vec) <= 0.0f) - w = 0.0f; - if (overall_feather) { - float delta = w - data->weight; + float delta; + + if (dot_v2v2(no, vec) <= 0.0f) + w = -w; + + delta = w - data->weight; if (data->orig_spline == NULL) { /* restore weight for currently sliding point, so orig_spline would be created @@ -870,6 +872,9 @@ static int slide_point_modal(bContext *C, wmOperator *op, wmEvent *event) slide_point_delta_all_feather(data, delta); } else { + if (dot_v2v2(no, vec) <= 0.0f) + w = 0.0f; + if (data->orig_spline) { /* restore possible overall feather changes */ slide_point_restore_spline(data);