diff --git a/src/gui/screensaver.cpp b/src/gui/screensaver.cpp index 52f94c2d1..60f6ae8df 100644 --- a/src/gui/screensaver.cpp +++ b/src/gui/screensaver.cpp @@ -63,8 +63,7 @@ CScreenSaver::CScreenSaver() { thrScreenSaver = NULL; m_frameBuffer = CFrameBuffer::getInstance(); - //m_viewer = new CPictureViewer(); - + m_viewer = new CPictureViewer(); index = 0; status_mute = CAudioMute::getInstance()->getStatus(); status_icons = CInfoIcons::getInstance()->getStatus(); //NI @@ -84,7 +83,7 @@ CScreenSaver::~CScreenSaver() { thrExit(); - //delete m_viewer; + delete m_viewer; if (scr_clock){ delete scr_clock; @@ -140,7 +139,6 @@ void CScreenSaver::Start() g_Zapit->stopPip(); #endif - /* m_viewer->SetScaling((CPictureViewer::ScalingMode)g_settings.picviewer_scaling); m_viewer->SetVisible(g_settings.screen_StartX, g_settings.screen_EndX, g_settings.screen_StartY, g_settings.screen_EndY); @@ -150,8 +148,13 @@ void CScreenSaver::Start() m_viewer->SetAspectRatio(float(4.0/3)); m_viewer->Cleanup(); +#if HAVE_ARM_HARDWARE + /* + Hack to get sure we have a blank screen. + stopFrame()-function seems not work correctly on ARM_HARDWARE */ - + m_frameBuffer->showFrame("blackscreen.jpg"); +#endif m_frameBuffer->stopFrame(); if(!thrScreenSaver) @@ -190,14 +193,13 @@ void CScreenSaver::Stop() #endif m_frameBuffer->paintBackground(); //clear entire screen + CInfoIcons::getInstance()->enableInfoIcons(status_icons); //NI CAudioMute::getInstance()->enableMuteIcon(status_mute); CInfoClock::getInstance()->ClearDisplay(); //provokes reinit CInfoClock::getInstance()->enableInfoClock(); - CInfoIcons::getInstance()->enableInfoIcons(status_icons); //NI - if (g_RadiotextWin) g_Radiotext->OnAfterDecodeLine.unblock(); @@ -375,8 +377,8 @@ void CScreenSaver::paint() #if 0 hideRadioText(); #endif - m_frameBuffer->showFrame(v_bg_files.at(index), CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_IMAGE); - //m_viewer->ShowImage(v_bg_files.at(index).c_str(), false /*unscaled*/); + //m_frameBuffer->showFrame(v_bg_files.at(index), CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_IMAGE); + m_viewer->ShowImage(v_bg_files.at(index).c_str(), false /*unscaled*/); #if 1 handleRadioText(); #endif diff --git a/src/gui/screensaver.h b/src/gui/screensaver.h index 4ae0a34fa..4836899e0 100644 --- a/src/gui/screensaver.h +++ b/src/gui/screensaver.h @@ -38,7 +38,7 @@ class CScreenSaver : public sigc::trackable { private: CFrameBuffer *m_frameBuffer; - //CPictureViewer *m_viewer; + CPictureViewer *m_viewer; std::thread *thrScreenSaver; static void ScreenSaverPrg(CScreenSaver *scr);