diff --git a/src/plugins/nightlight/nightlightmanager.cpp b/src/plugins/nightlight/nightlightmanager.cpp index fab9c06d4d..a711dc5809 100644 --- a/src/plugins/nightlight/nightlightmanager.cpp +++ b/src/plugins/nightlight/nightlightmanager.cpp @@ -609,16 +609,18 @@ int NightLightManager::currentTargetTemp() const const QDateTime todayNow = QDateTime::currentDateTime(); auto f = [this, todayNow](int target1, int target2) { - if (todayNow < m_prev.second) { - double residueQuota = todayNow.msecsTo(m_prev.second) / (double)m_prev.first.msecsTo(m_prev.second); - - double ret = (int)((1. - residueQuota) * (double)target2 + residueQuota * (double)target1); - // remove single digits - ret = ((int)(0.1 * ret)) * 10; - return (int)ret; - } else { + if (todayNow <= m_prev.first) { + return target1; + } + if (todayNow >= m_prev.second) { return target2; } + + double residueQuota = todayNow.msecsTo(m_prev.second) / (double)m_prev.first.msecsTo(m_prev.second); + double ret = (int)((1. - residueQuota) * (double)target2 + residueQuota * (double)target1); + // remove single digits + ret = ((int)(0.1 * ret)) * 10; + return (int)ret; }; if (daylight()) {