Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-11-27 15:28:39 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-11-27 15:28:39 +0400
commitf79c61c1665b9eea828bb3ba6d8d07dfc0939a48 (patch)
treeefafd56660b66d3c10f1a0f4fb8b9cbfde680b76
parent9b14d3608f7790a23505bd2b892963efe61b80fe (diff)
Masking: fixed bug with vector handles not updating when CV is parented to a motion track.
-rw-r--r--source/blender/blenkernel/intern/mask.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/mask.c b/source/blender/blenkernel/intern/mask.c
index b7f4c4bd61e..bda924060d5 100644
--- a/source/blender/blenkernel/intern/mask.c
+++ b/source/blender/blenkernel/intern/mask.c
@@ -1416,7 +1416,7 @@ void BKE_mask_layer_evaluate(MaskLayer *masklay, const float ctime, const int do
for (spline = masklay->splines.first; spline; spline = spline->next) {
int i;
- int has_auto = FALSE;
+ int need_handle_recalc = FALSE;
BKE_mask_spline_ensure_deform(spline);
@@ -1436,16 +1436,16 @@ void BKE_mask_layer_evaluate(MaskLayer *masklay, const float ctime, const int do
add_v2_v2(point_deform->bezt.vec[2], delta);
}
- if (point->bezt.h1 == HD_AUTO) {
- has_auto = TRUE;
+ if (ELEM(point->bezt.h1, HD_AUTO, HD_VECT)) {
+ need_handle_recalc = TRUE;
}
}
- /* if the spline has auto handles, these need to be recalculated after deformation */
- if (has_auto) {
+ /* if the spline has auto or vector handles, these need to be recalculated after deformation */
+ if (need_handle_recalc) {
for (i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point_deform = &spline->points_deform[i];
- if (point_deform->bezt.h1 == HD_AUTO) {
+ if (ELEM(point_deform->bezt.h1, HD_AUTO, HD_VECT)) {
BKE_mask_calc_handle_point(spline, point_deform);
}
}