diff --git a/src/core/hyprlock.cpp b/src/core/hyprlock.cpp index 0c3b012..07005b9 100644 --- a/src/core/hyprlock.cpp +++ b/src/core/hyprlock.cpp @@ -638,6 +638,10 @@ void CHyprlock::onPasswordCheckTimer() { Debug::log(LOG, "Authentication failed: {}", m_sPasswordState.result->failReason); m_sPasswordState.lastFailReason = m_sPasswordState.result->failReason; m_sPasswordState.passBuffer = ""; + + for (auto& o : m_vOutputs) { + o->sessionLockSurface->render(); + } } m_sPasswordState.result.reset(); diff --git a/src/renderer/widgets/PasswordInputField.cpp b/src/renderer/widgets/PasswordInputField.cpp index c6547f1..a5b66e0 100644 --- a/src/renderer/widgets/PasswordInputField.cpp +++ b/src/renderer/widgets/PasswordInputField.cpp @@ -77,6 +77,11 @@ void CPasswordInputField::updateDots() { dots.lastFrame = std::chrono::system_clock::now(); } + if (PASSLEN == 0 && !placeholder.failID.empty()) { + dots.currentAmount = PASSLEN; + return; + } + const auto DELTA = std::clamp((int)std::chrono::duration_cast(std::chrono::system_clock::now() - dots.lastFrame).count(), 0, 20000); const float TOADD = DELTA / 1000000.0 * dots.speedPerSecond;