diff --git a/src/gui/screensaver.cpp b/src/gui/screensaver.cpp index 66dc696d5..5541800be 100644 --- a/src/gui/screensaver.cpp +++ b/src/gui/screensaver.cpp @@ -51,6 +51,8 @@ CScreenSaver::CScreenSaver() m_frameBuffer = CFrameBuffer::getInstance(); m_viewer = new CPictureViewer(); index = 0; + status_mute = CAudioMute::getInstance()->getStatus(); + status_clock = InfoClock->getStatus(); } CScreenSaver::~CScreenSaver() @@ -75,7 +77,10 @@ CScreenSaver* CScreenSaver::getInstance() void CScreenSaver::Start() { + status_mute = CAudioMute::getInstance()->getStatus(); CAudioMute::getInstance()->enableMuteIcon(false); + + status_clock = InfoClock->getStatus(); InfoClock->enableInfoClock(false); m_viewer->SetScaling((CPictureViewer::ScalingMode)g_settings.picviewer_scaling); @@ -112,8 +117,8 @@ void CScreenSaver::Stop() thrScreenSaver = 0; m_frameBuffer->paintBackground(); //clear entire screen - InfoClock->enableInfoClock(true); - CAudioMute::getInstance()->enableMuteIcon(true); + InfoClock->enableInfoClock(status_clock); + CAudioMute::getInstance()->enableMuteIcon(status_mute); } void* CScreenSaver::ScreenSaverPrg(void* arg) diff --git a/src/gui/screensaver.h b/src/gui/screensaver.h index 964c6785b..7f6984ee7 100644 --- a/src/gui/screensaver.h +++ b/src/gui/screensaver.h @@ -33,11 +33,14 @@ class CScreenSaver { private: CFrameBuffer *m_frameBuffer; + CPictureViewer *m_viewer; pthread_t thrScreenSaver; static void* ScreenSaverPrg(void *arg); vector v_bg_files; unsigned int index; - CPictureViewer *m_viewer; + + bool status_mute; + bool status_clock; bool ReadDir(); void PaintPicture();