aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Sommerfeld <kai.sommerfeld@gmx.com>2018-07-29 22:51:16 +0200
committerKai Sommerfeld <kai.sommerfeld@gmx.com>2018-07-29 22:58:49 +0200
commiteaaf26f84971ee9b10a75017964a025e22800b32 (patch)
tree004f3d6aef8c282b47bf6c2406461105acd88b38
parent743da9ed97c92508a2116678b70a5591f4e8d04f (diff)
[PVR] Guide window: Prevent concurrent updates.
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRGuide.cpp10
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)