diff --git a/web/skins/classic/views/js/montagereview.js b/web/skins/classic/views/js/montagereview.js index 976754ebc..8a2a36f75 100644 --- a/web/skins/classic/views/js/montagereview.js +++ b/web/skins/classic/views/js/montagereview.js @@ -1097,6 +1097,14 @@ function changeFilters(e) { let minStartDateTime = DateTime.fromFormat(minStartDateTimeElement.value, 'yyyy-MM-dd HH:mm:ss', {zone: ZM_TIMEZONE}); let maxStartDateTime = DateTime.fromFormat(maxStartDateTimeElement.value, 'yyyy-MM-dd HH:mm:ss', {zone: ZM_TIMEZONE}); + // If either input is empty or malformed, bail out rather than letting + // NaN propagate into minTimeSecs/rangeTimeSecs and crash getImageData + // in drawSliderOnGraph. + if (!minStartDateTime.isValid || !maxStartDateTime.isValid) { + console.warn("changeFilters: invalid date input, skipping update"); + return; + } + if (this === minStartDateTimeElement) { if (minStartDateTime > maxStartDateTime) { maxStartDateTime = minStartDateTime.plus({hours: 1}); // Maybe leave a gap?