diff --git a/libgnucash/app-utils/date-utilities.scm b/libgnucash/app-utils/date-utilities.scm index d55c410eae..3901ccfe88 100644 --- a/libgnucash/app-utils/date-utilities.scm +++ b/libgnucash/app-utils/date-utilities.scm @@ -339,6 +339,11 @@ (assv-ref MonthDeltas incr)) (define (make-interval from to) (list from (if (< to enddate) (decdate to SecDelta) enddate))) + (when (< enddate startdate) + (let ((saved-enddate enddate)) + (gnc:warn "start > end date. Swapping dates to avoid some reports crashing.") + (set! enddate startdate) + (set! startdate saved-enddate))) (let loop ((result '()) (date startdate) (idx 0)) @@ -365,6 +370,11 @@ (define (gnc:make-date-list startdate enddate incr) (define month-delta (assv-ref MonthDeltas incr)) + (when (< enddate startdate) + (let ((saved-enddate enddate)) + (gnc:warn "start > end date. Swapping dates to avoid some reports crashing.") + (set! enddate startdate) + (set! startdate saved-enddate))) (let loop ((result '()) (date startdate) (idx 0))