From: Andreas Monzner Date: Mon, 15 Jan 2007 19:36:42 +0000 (+0000) Subject: when the system time on e2 startup seems valid (> 1.1.2004) we use this time X-Git-Tag: 2.6.0~2445 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/e68ab3a6255de286aad4f503ee9929d0c503ebcc?hp=a3d4ed7a6cafe80056916cfc6f27e8d4df94a90d when the system time on e2 startup seems valid (> 1.1.2004) we use this time as time reference for the internal transponder time correction.. so the systemtime stays valid on startup from deepstandby on a transponder with incorrect transponder time transmission --- diff --git a/lib/dvb/dvbtime.cpp b/lib/dvb/dvbtime.cpp index 5ece09d3..6c2df6c2 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() diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index afbc6e01..1428cc7c 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -226,7 +226,11 @@ eEPGCache::eEPGCache() if (!res_mgr) eDebug("[eEPGCache] no resource manager !!!!!!!"); else + { res_mgr->connectChannelAdded(slot(*this,&eEPGCache::DVBChannelAdded), m_chanAddedConn); + if (eDVBLocalTimeHandler::getInstance()->ready()) + timeUpdated(); + } instance=this; }