From c607ce7e4b7509f972cb25fb7ab6d556234528bb Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Wed, 2 Nov 2022 23:00:39 +0100 Subject: [PATCH] Fix a lockup when resampling over a backwards DST switch --- plugin/energylogger.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugin/energylogger.cpp b/plugin/energylogger.cpp index 06b6a0e..6c72d94 100644 --- a/plugin/energylogger.cpp +++ b/plugin/energylogger.cpp @@ -682,6 +682,10 @@ QDateTime EnergyLogger::nextSampleTimestamp(SampleRate sampleRate, const QDateTi case SampleRate3Hours: time.setHMS(time.hour() - (time.hour() % 3), 0, 0); next = QDateTime(date, time).addMSecs(3 * 60 * 60 * 1000); + if (next.time().hour() == 2) { + qCDebug(dcEnergyExperience()) << "DST switch detected!"; + next = next.addMSecs(60 * 60 * 1000); + } break; case SampleRate1Day: next = QDateTime(date, QTime()).addDays(1);