From aed3ed80c7d6a258587c22e4e73db30fd3fa3393 Mon Sep 17 00:00:00 2001 From: sunwen Date: Mon, 11 Sep 2023 16:00:56 +0800 Subject: [PATCH] Fix screensaver lock time bug. --- src/forms/settings/GeneralForm.cpp | 1 + src/screensaver/ScreenSaverWindow.cpp | 2 +- src/utilities/Locker.cpp | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/forms/settings/GeneralForm.cpp b/src/forms/settings/GeneralForm.cpp index cd99488..a857999 100644 --- a/src/forms/settings/GeneralForm.cpp +++ b/src/forms/settings/GeneralForm.cpp @@ -141,6 +141,7 @@ GeneralForm::GeneralForm(QWidget* aParent) { JsonObject::Instance()->setLockScreenTimeout(QString::number(second)); lockTime->setText(toTimeString(second)); + Locker::getInstance()->setTimer(-1); Locker::getInstance()->setIsEnable(false); return; } diff --git a/src/screensaver/ScreenSaverWindow.cpp b/src/screensaver/ScreenSaverWindow.cpp index ae6b4e9..52a7ac7 100644 --- a/src/screensaver/ScreenSaverWindow.cpp +++ b/src/screensaver/ScreenSaverWindow.cpp @@ -144,5 +144,5 @@ void ScreenSaverWindow::handleVideoStatusChanged(QMediaPlayer::MediaStatus aStat void ScreenSaverWindow::startLocker() { - Locker::getInstance()->start(); + Locker::getInstance()->setIsEnable(true); } diff --git a/src/utilities/Locker.cpp b/src/utilities/Locker.cpp index f1067d3..e8414a8 100644 --- a/src/utilities/Locker.cpp +++ b/src/utilities/Locker.cpp @@ -31,7 +31,7 @@ Locker::~Locker() void Locker::start() { - if (mIsEnable) + if (mIsEnable && mCounter > 0) { mScreenTimer->stop(); mScreenTimer->start(mCounter); @@ -69,7 +69,7 @@ void Locker::setTimer(int aInterval) } void Locker::refreshTimer() { - if (mIsEnable) + if (mIsEnable && mCounter > 0) { mScreenTimer->stop(); mScreenTimer->start(mCounter);