diff --git a/src/gui/screensaver.cpp b/src/gui/screensaver.cpp index dca06ad99..573464767 100644 --- a/src/gui/screensaver.cpp +++ b/src/gui/screensaver.cpp @@ -38,7 +38,7 @@ #include "screensaver.h" #include #include - +#include #include extern cVideo * videoDecoder; @@ -54,6 +54,7 @@ CScreenSaver::CScreenSaver() status_mute = CAudioMute::getInstance()->getStatus(); scr_clock = NULL; clr.i_color = COL_DARK_GRAY; + pip_channel_id = 0; } CScreenSaver::~CScreenSaver() @@ -87,6 +88,10 @@ void CScreenSaver::Start() if(!CInfoClock::getInstance()->isBlocked()) CInfoClock::getInstance()->disableInfoClock(); + pip_channel_id = CZapit::getInstance()->GetPipChannelID(); + if (pip_channel_id) + g_Zapit->stopPip(); + 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); @@ -122,6 +127,11 @@ void CScreenSaver::Stop() scr_clock = NULL; } + if(pip_channel_id) { + CNeutrinoApp::getInstance()->StartPip(pip_channel_id); + pip_channel_id = 0; + } + m_frameBuffer->paintBackground(); //clear entire screen CAudioMute::getInstance()->enableMuteIcon(status_mute); diff --git a/src/gui/screensaver.h b/src/gui/screensaver.h index 696425fa7..6bad49d29 100644 --- a/src/gui/screensaver.h +++ b/src/gui/screensaver.h @@ -40,7 +40,7 @@ class CScreenSaver : public sigc::trackable static void* ScreenSaverPrg(void *arg); vector v_bg_files; unsigned int index; - + t_channel_id pip_channel_id; bool status_mute; bool ReadDir();