diff options
author | Jörg Müller <nexyon@gmail.com> | 2019-02-01 17:58:12 +0300 |
---|---|---|
committer | Jörg Müller <nexyon@gmail.com> | 2019-02-01 17:58:27 +0300 |
commit | d9d72cc9cba5db30d4104f8a5b5a867f72b6fbfe (patch) | |
tree | 9f5fd393c5105daa3dd5bbe26d5f4edb2fdf6558 /source/blender/editors | |
parent | 6cbb4c576addc4f5322c0fb444a9af1e649fdb8e (diff) |
Fix T61043: Blender crashes on VSE zoom / scroll timeline sometimes
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_draw.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 33185577fa0..3b91488b532 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -249,7 +249,7 @@ static void drawseqwave(View2D *v2d, const bContext *C, SpaceSeq *sseq, Scene *s endsample = ceil((seq->startofs + seq->anim_startofs + seq->enddisp - seq->startdisp) / FPS * SOUND_WAVE_SAMPLES_PER_SECOND); samplestep = (endsample - startsample) * stepsize / (x2 - x1); - length = min_ii(floor((waveform->length - startsample) / samplestep), length); + length = min_ii(floor((waveform->length - startsample) / samplestep - (x1_offset - x1) / stepsize), length); if (length < 2) { return; @@ -277,7 +277,7 @@ static void drawseqwave(View2D *v2d, const bContext *C, SpaceSeq *sseq, Scene *s value2 = waveform->data[j * 3 + 1]; } } - else { + else if (p + 1 < waveform->length) { /* use simple linear interpolation */ float f = sampleoffset - p; value1 = (1.0f - f) * value1 + f * waveform->data[p * 3 + 3]; |