diff --git a/app/audio/audiovisualwaveform.cpp b/app/audio/audiovisualwaveform.cpp index 03bd6aabc..0fb9c215a 100644 --- a/app/audio/audiovisualwaveform.cpp +++ b/app/audio/audiovisualwaveform.cpp @@ -152,6 +152,9 @@ void AudioVisualWaveform::OverwriteSums(const AudioVisualWaveform &sums, const r int copy_len = their_arr.size() - their_start_index; if (!length.isNull()) { copy_len = qMin(copy_len, time_to_samples(length, rate_dbl)); + if (copy_len == 0) { + continue; + } } // Determine end index of our array diff --git a/app/node/output/viewer/viewer.cpp b/app/node/output/viewer/viewer.cpp index aca810ab1..20fb862aa 100644 --- a/app/node/output/viewer/viewer.cpp +++ b/app/node/output/viewer/viewer.cpp @@ -225,9 +225,11 @@ void ViewerOutput::InvalidateCache(const TimeRange& range, const QString& from, // TEMP: Just to restore the intended functionality for now. This will be removed later. if (from == kTextureInput) { - video_frame_cache()->Invalidate(range); + TimeRange r = range.Intersected(TimeRange(0, GetVideoLength())); + if (r.length() != 0) video_frame_cache()->Invalidate(r); } else if (from == kSamplesInput) { - audio_playback_cache()->Invalidate(range); + TimeRange r = range.Intersected(TimeRange(0, GetAudioLength())); + if (r.length() != 0) audio_playback_cache()->Invalidate(r); } }