From e40dc53c44573a454b8069774d89b4770b23ea82 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 17 Sep 2019 09:29:56 +0200 Subject: Fix T69960: Track path tries to draw negative point counts --- source/blender/editors/space_clip/clip_draw.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to '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; -- cgit v1.2.3