diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 84fa603622..1f0fe67433 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -323,6 +323,8 @@ void DisplayApp::Refresh() { if (currentApp == Apps::Launcher || currentApp == Apps::Notifications || currentApp == Apps::QuickSettings || currentApp == Apps::Settings) { LoadScreen(Apps::Clock, DisplayApp::FullRefreshDirections::None); + appStackDirections.Reset(); + returnAppStack.Reset(); // Wait for the clock app to load before moving on. while (!lv_task_handler()) { }; diff --git a/src/displayapp/screens/Timer.cpp b/src/displayapp/screens/Timer.cpp index 749d985933..d1256d22a0 100644 --- a/src/displayapp/screens/Timer.cpp +++ b/src/displayapp/screens/Timer.cpp @@ -182,6 +182,7 @@ void Timer::ToggleRunning() { auto timerStatus = timer.GetTimerState(); if (timerStatus && timerStatus->expired) { motorController.StopRinging(); + wakeLock.Release(); Reset(); } else if (timer.IsRunning()) { DisplayTime();