aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Sommerfeld <kai.sommerfeld@gmx.com>2020-06-12 18:03:14 +0200
committerKai Sommerfeld <kai.sommerfeld@gmx.com>2020-06-13 19:55:59 +0200
commit67bd433e9d372146d136603be077ab1d144708aa (patch)
tree29293b210f71a667ff1c5ed9a4d7f38f5491be29
parentdbf8e077eae4154fb8f7d108247ea5324eea73c3 (diff)
[PVR] CGUIEPGGridContainer: Update layout early in GUI thread, not in timeline refresh thread, for performance and thread safety reasons (fix a race).
-rw-r--r--xbmc/pvr/windows/GUIEPGGridContainer.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/xbmc/pvr/windows/GUIEPGGridContainer.cpp b/xbmc/pvr/windows/GUIEPGGridContainer.cpp
index 432a695eeb..37313e9a85 100644
--- a/xbmc/pvr/windows/GUIEPGGridContainer.cpp
+++ b/xbmc/pvr/windows/GUIEPGGridContainer.cpp
@@ -1593,6 +1593,8 @@ void CGUIEPGGridContainer::LoadLayout(TiXmlElement *layout)
m_rulerLayouts.back().LoadLayout(itemElement, GetParentID(), false, m_width, m_height);
itemElement = itemElement->NextSiblingElement("rulerlayout");
}
+
+ UpdateLayout();
}
std::string CGUIEPGGridContainer::GetDescription() const
@@ -1715,7 +1717,6 @@ void CGUIEPGGridContainer::SetTimelineItems(const std::unique_ptr<CFileItemList>
{
CSingleLock lock(m_critSection);
- UpdateLayout();
iRulerUnit = m_rulerUnit;
iBlocksPerPage = m_blocksPerPage;
fBlockSize = m_blockSize;