bool CGUIWindowPVRGuide::RefreshTimelineItems()
{
  if (m_bRefreshTimelineItems)
  {
    m_bRefreshTimelineItems = false;

    CPVRChannelGroupPtr group = GetGroup();

    std::shared_ptr<CFileItemList> timeline = std::make_shared<CFileItemList>();

    // can be very expensive. never call with lock aquired.
    group->GetEPGAll(*timeline, true);

    {
      CSingleLock lock(m_critSection);

      m_newTimeline = timeline;
      m_cachedChannelGroup = group;
    }

    return true;
  }
  return false;
}