X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2e90ba76e9e70689b9821c7daaf2110550e05520..d87e3beb37390b59d288ae1cb43d9f887754ed56:/lib/dvb/dvbtime.cpp diff --git a/lib/dvb/dvbtime.cpp b/lib/dvb/dvbtime.cpp index 5ece09d3..7684bfa4 100644 --- a/lib/dvb/dvbtime.cpp +++ b/lib/dvb/dvbtime.cpp @@ -129,7 +129,18 @@ eDVBLocalTimeHandler::eDVBLocalTimeHandler() if (!res_mgr) eDebug("[eDVBLocalTimerHandler] no resource manager !!!!!!!"); else + { res_mgr->connectChannelAdded(slot(*this,&eDVBLocalTimeHandler::DVBChannelAdded), m_chanAddedConn); + time_t now = time(0); + if ( now < 1072224000 ) // 01.01.2004 + eDebug("RTC not ready... wait for transponder time"); + else // inform all who's waiting for valid system time.. + { + eDebug("Use valid Linux Time :) (RTC?)"); + m_time_ready = true; + /*emit*/ m_timeUpdated(); + } + } } eDVBLocalTimeHandler::~eDVBLocalTimeHandler() @@ -137,6 +148,11 @@ eDVBLocalTimeHandler::~eDVBLocalTimeHandler() instance=0; for (std::map::iterator it=m_knownChannels.begin(); it != m_knownChannels.end(); ++it) delete it->second.tdt; + if (ready()) + { + eDebug("set RTC to previous valid time"); + setRTC(nowTime()); + } } void eDVBLocalTimeHandler::readTimeOffsetData( const char* filename )