diff options
author | Kai Sommerfeld <kai.sommerfeld@gmx.com> | 2018-07-29 22:51:16 +0200 |
---|---|---|
committer | Kai Sommerfeld <kai.sommerfeld@gmx.com> | 2018-07-29 22:58:49 +0200 |
commit | eaaf26f84971ee9b10a75017964a025e22800b32 (patch) | |
tree | 004f3d6aef8c282b47bf6c2406461105acd88b38 | |
parent | 743da9ed97c92508a2116678b70a5591f4e8d04f (diff) |
[PVR] Guide window: Prevent concurrent updates.
-rw-r--r-- | xbmc/pvr/windows/GUIWindowPVRGuide.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/xbmc/pvr/windows/GUIWindowPVRGuide.cpp b/xbmc/pvr/windows/GUIWindowPVRGuide.cpp index 797eb5fbd5..969eebb40f 100644 --- a/xbmc/pvr/windows/GUIWindowPVRGuide.cpp +++ b/xbmc/pvr/windows/GUIWindowPVRGuide.cpp @@ -192,6 +192,16 @@ void CGUIWindowPVRGuideBase::UpdateButtons(void) bool CGUIWindowPVRGuideBase::Update(const std::string &strDirectory, bool updateFilterPath /* = true */) { + if (m_vecItemsUpdating) + { + // Prevent concurrent updates. Instead, let the timeline items refresh thread pick it up later. + CSingleLock lock(m_critSection); + m_bRefreshTimelineItems = true; + return true; + } + + CUpdateGuard guard(m_vecItemsUpdating); + bool bReturn = CGUIWindowPVRBase::Update(strDirectory, updateFilterPath); if (bReturn && !m_bChannelSelectionRestored) |