From 9b6fe7e308b9368684347ca54833bb344496a029 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Mon, 22 Mar 2021 12:15:13 +1100 Subject: [PATCH] track: null check when looking up a block's in/out time adjustment Fixes #1517 --- app/node/output/track/track.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/node/output/track/track.cpp b/app/node/output/track/track.cpp index e553bad59..2b116c8c6 100644 --- a/app/node/output/track/track.cpp +++ b/app/node/output/track/track.cpp @@ -99,7 +99,9 @@ TimeRange Track::InputTimeAdjustment(const QString& input, int element, const Ti if (input == kBlockInput && element >= 0) { int cache_index = GetCacheIndexFromArrayIndex(element); - return TransformRangeForBlock(blocks_.at(cache_index), input_time); + if (cache_index > -1) { + return TransformRangeForBlock(blocks_.at(cache_index), input_time); + } } return Node::InputTimeAdjustment(input, element, input_time); @@ -109,9 +111,12 @@ TimeRange Track::OutputTimeAdjustment(const QString& input, int element, const T { if (input == kBlockInput && element >= 0) { int cache_index = GetCacheIndexFromArrayIndex(element); - const rational& block_in = blocks_.at(cache_index)->in(); - return input_time + block_in; + if (cache_index > -1) { + const rational& block_in = blocks_.at(cache_index)->in(); + + return input_time + block_in; + } } return Node::OutputTimeAdjustment(input, element, input_time);