diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 4cb81a2e4..63e6c5b25 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2007,7 +2007,7 @@ void CNeutrinoApp::RealRun(CMenuWidget &mainMenu) } g_RCInput->clearRCMsg(); if(g_settings.power_standby || init_cec_setting) - standbyMode(true); + standbyMode(true, true); InfoClock = CInfoClock::getInstance(); if(g_settings.mode_clock) @@ -2926,7 +2926,6 @@ void CNeutrinoApp::ExitRun(const bool /*write_si*/, int retcode) //SDTreloadChannels = false; } - CVFD::getInstance()->setMode(CVFD::MODE_SHUTDOWN); delete CRecordManager::getInstance(); @@ -2940,6 +2939,7 @@ void CNeutrinoApp::ExitRun(const bool /*write_si*/, int retcode) if(g_settings.epg_save /* && timeset && g_Sectionsd->getIsTimeSet ()*/) { saveEpg(true);// true CVFD::MODE_SHUTDOWN } + CVFD::getInstance()->setMode(CVFD::MODE_SHUTDOWN); stop_daemons(true /*retcode*/);//need here for timer_is_rec before saveSetup g_settings.shutdown_timer_record_type = timer_is_rec; @@ -3178,7 +3178,7 @@ void CNeutrinoApp::scartMode( bool bOnOff ) } } -void CNeutrinoApp::standbyMode( bool bOnOff ) +void CNeutrinoApp::standbyMode( bool bOnOff, bool fromDeepStandby ) { static bool wasshift = false; INFO("%s", bOnOff ? "ON" : "OFF" ); @@ -3211,9 +3211,9 @@ void CNeutrinoApp::standbyMode( bool bOnOff ) g_Sectionsd->setPauseScanning(true); g_Sectionsd->setServiceChanged(0, false); - if(!CRecordManager::getInstance()->RecordingStatus()) { + if(!CRecordManager::getInstance()->RecordingStatus() ) { //only save epg when not recording - if(g_settings.epg_save) { + if(g_settings.epg_save && !fromDeepStandby) { saveEpg(false);//false CVFD::MODE_STANDBY } } diff --git a/src/neutrino.h b/src/neutrino.h index 6cb1ce72b..97b483a7c 100644 --- a/src/neutrino.h +++ b/src/neutrino.h @@ -134,7 +134,7 @@ private: void tvMode( bool rezap = true ); void radioMode( bool rezap = true ); void scartMode( bool bOnOff ); - void standbyMode( bool bOnOff ); + void standbyMode( bool bOnOff, bool fromDeepStandby = false ); void saveEpg(bool cvfd_mode); void ExitRun(const bool write_si = true, int retcode = 0);