From ececd844fa0e634f3dbe1af2d2ef77ec85342cd0 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sun, 15 Dec 2013 17:34:53 +0100 Subject: [PATCH] use mySleep in CComponentsFrmClock::initClockThread( Signed-off-by: Jacek Jendrzej --- src/driver/pictureviewer/pictureviewer.h | 2 +- src/gui/components/cc_frm_clock.cpp | 5 +++-- src/system/helpers.cpp | 8 ++++++++ src/system/helpers.h | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/driver/pictureviewer/pictureviewer.h b/src/driver/pictureviewer/pictureviewer.h index 0c6550160..71d8d256f 100644 --- a/src/driver/pictureviewer/pictureviewer.h +++ b/src/driver/pictureviewer/pictureviewer.h @@ -50,7 +50,7 @@ class CPictureViewer COLOR=2 }; CPictureViewer(); - ~CPictureViewer(); + virtual~CPictureViewer(); bool ShowImage(const std::string & filename, bool unscaled=false); bool DecodeImage(const std::string & name, bool showBusySign=false, bool unscaled=false); bool DisplayNextImage(); diff --git a/src/gui/components/cc_frm_clock.cpp b/src/gui/components/cc_frm_clock.cpp index 7a64274d0..4067a76d7 100644 --- a/src/gui/components/cc_frm_clock.cpp +++ b/src/gui/components/cc_frm_clock.cpp @@ -37,6 +37,7 @@ #include #include #include +#include using namespace std; @@ -267,7 +268,7 @@ void* CComponentsFrmClock::initClockThread(void *arg) time_t count = time(0); std::string format_str_save = clock->cl_format_str; //start loop for paint - while(1) { + while(clock != NULL) { if (clock->paintClock) { // Blinking depending on the blink format string if (!clock->cl_blink_str.empty() && (clock->cl_format_str.length() == clock->cl_blink_str.length())) { @@ -286,7 +287,7 @@ void* CComponentsFrmClock::initClockThread(void *arg) clock->cl_thread = 0; break; } - sleep(clock->cl_interval); + mySleep(clock->cl_interval); } return 0; } diff --git a/src/system/helpers.cpp b/src/system/helpers.cpp index 9b67a0f34..d08a84d2e 100644 --- a/src/system/helpers.cpp +++ b/src/system/helpers.cpp @@ -42,6 +42,14 @@ #include #include +void mySleep(int sec) { + struct timeval timeout; + + timeout.tv_sec = sec; + timeout.tv_usec = 0; + select(0,0,0,0, &timeout); +} + off_t file_size(const char *filename) { struct stat stat_buf; diff --git a/src/system/helpers.h b/src/system/helpers.h index 9639c39bf..2fbac55cd 100644 --- a/src/system/helpers.h +++ b/src/system/helpers.h @@ -39,6 +39,7 @@ void wakeup_hdd(const char *hdd_dir); int check_dir(const char * dir, bool allow_tmp = false); bool get_fs_usage(const char * dir, uint64_t &btotal, uint64_t &bused, long *bsize=NULL); bool get_mem_usage(unsigned long &total, unsigned long &free); +void mySleep(int sec); std::string getPathName(std::string &path); std::string getBaseName(std::string &path); @@ -64,7 +65,6 @@ class CFileHelpers bool copyDir(const char *Src, const char *Dst, bool backupMode=false); bool createDir(const char *Dir, mode_t mode); bool removeDir(const char *Dir); - }; template std::string to_string(C i)