[Bf-blender-cvs] [e40dc53c445] master: Fix T69960: Track path tries to draw negative point counts

Sergey Sharybin noreply at git.blender.org
Tue Sep 17 09:30:41 CEST 2019


Commit: e40dc53c44573a454b8069774d89b4770b23ea82
Author: Sergey Sharybin
Date:   Tue Sep 17 09:29:56 2019 +0200
Branches: master
https://developer.blender.org/rBe40dc53c44573a454b8069774d89b4770b23ea82

Fix T69960: Track path tries to draw negative point counts

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

M	source/blender/editors/space_clip/clip_draw.c

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

diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c
index 9476a9eeadd..21a9285c0f3 100644
--- a/source/blender/editors/space_clip/clip_draw.c
+++ b/source/blender/editors/space_clip/clip_draw.c
@@ -507,7 +507,16 @@ static void draw_track_path(SpaceClip *sc, MovieClip *UNUSED(clip), MovieTrackin
   /* Collect path information. */
   const int num_points_before = track_to_path_segment(sc, track, -1, path);
   const int num_points_after = track_to_path_segment(sc, track, 1, path);
-  const int num_all_points = num_points_before + num_points_after - 1;
+  if (num_points_before == 0 && num_points_after == 0) {
+    return;
+  }
+
+  int num_all_points = num_points_before + num_points_after;
+  /* If both leading and trailing parts of the path are there the center point is counted twice. */
+  if (num_points_before != 0 && num_points_after != 0) {
+    num_all_points -= 1;
+  }
+
   const int path_start_index = count - num_points_before + 1;
   const int path_center_index = count;



More information about the Bf-blender-cvs mailing list