[Bf-blender-cvs] [d9d72cc9cba] master: Fix T61043: Blender crashes on VSE zoom / scroll timeline sometimes

Jörg Müller noreply at git.blender.org
Fri Feb 1 15:58:30 CET 2019


Commit: d9d72cc9cba5db30d4104f8a5b5a867f72b6fbfe
Author: Jörg Müller
Date:   Fri Feb 1 15:58:12 2019 +0100
Branches: master
https://developer.blender.org/rBd9d72cc9cba5db30d4104f8a5b5a867f72b6fbfe

Fix T61043: Blender crashes on VSE zoom / scroll timeline sometimes

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

M	source/blender/editors/space_sequencer/sequencer_draw.c

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

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];



More information about the Bf-blender-cvs mailing list