diff --git a/xbmc/epg/EpgContainer.cpp b/xbmc/epg/EpgContainer.cpp index d403e266a46d6..1ee19a99c56db 100644 --- a/xbmc/epg/EpgContainer.cpp +++ b/xbmc/epg/EpgContainer.cpp @@ -259,12 +259,6 @@ void CEpgContainer::Process(void) bool bUpdateEpg(true); bool bHasPendingUpdates(false); - if (!CPVRManager::Get().WaitUntilInitialised()) - { - CLog::Log(LOGDEBUG, "EPG - %s - pvr manager failed to load - exiting", __FUNCTION__); - return; - } - while (!m_bStop && !g_application.m_bStop) { CDateTime::GetCurrentDateTime().GetAsUTCDateTime().GetAsTime(iNow); diff --git a/xbmc/pvr/PVRManager.cpp b/xbmc/pvr/PVRManager.cpp index 0e67ab75783fe..23c255f35fae1 100644 --- a/xbmc/pvr/PVRManager.cpp +++ b/xbmc/pvr/PVRManager.cpp @@ -262,12 +262,6 @@ bool CPVRManager::UpgradeOutdatedAddons(void) return false; } -bool CPVRManager::WaitUntilInitialised(void) -{ - return m_initialisedEvent.Wait() && - IsStarted(); -} - void CPVRManager::Cleanup(void) { CSingleLock lock(m_critSection); @@ -291,7 +285,6 @@ void CPVRManager::Cleanup(void) delete m_pendingUpdates.at(iJobPtr); m_pendingUpdates.clear(); - m_initialisedEvent.Reset(); SetState(ManagerStateStopped); } @@ -354,8 +347,6 @@ void CPVRManager::Start(bool bAsync /* = false */, bool bOpenPVRWindow /* = fals m_database = new CPVRDatabase; m_database->Open(); - g_EpgContainer.Start(); - /* create the supervisor thread to do all background activities */ StartUpdateThreads(); } @@ -370,7 +361,6 @@ void CPVRManager::Stop(void) SetState(ManagerStateStopping); /* stop the EPG updater, since it might be using the pvr add-ons */ - m_initialisedEvent.Set(); g_EpgContainer.Stop(); CLog::Log(LOGNOTICE, "PVRManager - stopping"); @@ -410,6 +400,8 @@ void CPVRManager::SetState(ManagerState state) void CPVRManager::Process(void) { + g_EpgContainer.Stop(); + /* load the pvr data from the db and clients if it's not already loaded */ while (!Load() && GetState() == ManagerStateStarting) { @@ -427,7 +419,7 @@ void CPVRManager::Process(void) /* main loop */ CLog::Log(LOGDEBUG, "PVRManager - %s - entering main loop", __FUNCTION__); - m_initialisedEvent.Set(); + g_EpgContainer.Start(); if (m_bOpenPVRWindow) { diff --git a/xbmc/pvr/PVRManager.h b/xbmc/pvr/PVRManager.h index 8dc1fba755348..e1dd398d2b4e8 100644 --- a/xbmc/pvr/PVRManager.h +++ b/xbmc/pvr/PVRManager.h @@ -636,7 +636,6 @@ namespace PVR CStopWatch *m_parentalTimer; bool m_bOpenPVRWindow; std::map m_outdatedAddons; - CEvent m_initialisedEvent; /*!< triggered when the pvr manager initialised */ }; class CPVREpgsCreateJob : public CJob