Fix #123541: VSE thumbnails in some cases are drawn outside of the strip

Code was using seq->start + seq->len to figure out where the "right
side of content" is, seemingly since forever (i.e. since 997b5fe4
added strip thumbnails). But that is incorrect starting with 3.3,
where seq->len is "number of frames / samples in source media",
but that does not necessarily match number of frames in the timeline.
For movies this happens when media framerate does not match
sequencer framerate.

Use SEQ_time_content_end_frame_get instead to calculate where the
content ends.

Pull Request: https://projects.blender.org/blender/blender/pulls/124081
This commit is contained in:
Aras Pranckevicius 2024-07-03 14:59:07 +02:00 committed by Aras Pranckevicius
parent 9460dfd4f3
commit 44510662e9

@ -548,7 +548,8 @@ void draw_seq_strip_thumbnail(View2D *v2d,
const float seq_left_handle = SEQ_time_left_handle_frame_get(scene, seq);
const float seq_right_handle = SEQ_time_right_handle_frame_get(scene, seq);
float upper_thumb_bound = SEQ_time_has_right_still_frames(scene, seq) ? (seq->start + seq->len) :
float upper_thumb_bound = SEQ_time_has_right_still_frames(scene, seq) ?
SEQ_time_content_end_frame_get(scene, seq) :
seq_right_handle;
if (seq->type == SEQ_TYPE_IMAGE) {
upper_thumb_bound = seq_right_handle;