diff options
-rw-r--r-- | gui/blanktimer.cpp | 7 | ||||
-rw-r--r-- | gui/blanktimer.hpp | 2 | ||||
-rw-r--r-- | gui/console.cpp | 1 | ||||
-rw-r--r-- | gui/pages.cpp | 5 |
4 files changed, 15 insertions, 0 deletions
diff --git a/gui/blanktimer.cpp b/gui/blanktimer.cpp index 700a9ad27..0b1f0083c 100644 --- a/gui/blanktimer.cpp +++ b/gui/blanktimer.cpp @@ -48,6 +48,11 @@ blanktimer::blanktimer(void) { setTime(0); setConBlank(0); orig_brightness = getBrightness(); + screenoff = false; +} + +bool blanktimer::IsScreenOff() { + return screenoff; } void blanktimer::setTime(int newtime) { @@ -92,6 +97,7 @@ int blanktimer::setClockTimer(void) { if (sleepTimer && diff.tv_sec > sleepTimer && conblank < 2) { setConBlank(2); setBrightness(0); + screenoff = true; PageManager::ChangeOverlay("lock"); } #ifndef TW_NO_SCREEN_BLANK @@ -146,6 +152,7 @@ void blanktimer::resetTimerAndUnblank(void) { // No break here, we want to keep going case 2: gui_forceRender(); + screenoff = false; // No break here, we want to keep going case 1: setBrightness(orig_brightness); diff --git a/gui/blanktimer.hpp b/gui/blanktimer.hpp index 2d83c4dae..60d5b1b42 100644 --- a/gui/blanktimer.hpp +++ b/gui/blanktimer.hpp @@ -30,6 +30,7 @@ class blanktimer { int setTimerThread(void); void resetTimerAndUnblank(void); void setTime(int newtime); + bool IsScreenOff(); private: void setConBlank(int blank); @@ -47,6 +48,7 @@ class blanktimer { timespec btimer; unsigned long long sleepTimer; int orig_brightness; + bool screenoff; }; extern blanktimer blankTimer; diff --git a/gui/console.cpp b/gui/console.cpp index 8a7a85ea3..ee3b5e580 100644 --- a/gui/console.cpp +++ b/gui/console.cpp @@ -274,6 +274,7 @@ int GUIConsole::Update(void) { // They're still touching, so re-render Render(); + mLastTouchY = -1; return 2; } return 0; diff --git a/gui/pages.cpp b/gui/pages.cpp index 11fe9b080..86d4dff9f 100644 --- a/gui/pages.cpp +++ b/gui/pages.cpp @@ -41,8 +41,10 @@ extern "C" { #include "rapidxml.hpp" #include "objects.hpp" +#include "blanktimer.hpp" extern int gGuiRunning; +extern blanktimer blankTimer; std::map<std::string, PageSet*> PageManager::mPageSets; PageSet* PageManager::mCurrentSet; @@ -890,6 +892,9 @@ int PageManager::Render(void) int PageManager::Update(void) { + if(blankTimer.IsScreenOff()) + return 0; + return (mCurrentSet ? mCurrentSet->Update() : -1); } |