bool CEpg::InfoTagNext(CEpgInfoTag &tag) const { CEpgInfoTag nowTag; if (InfoTagNow(nowTag)) { const CEpgInfoTag *nextTag = nowTag.GetNextEvent(); if (nextTag) tag = *nextTag; return nextTag != NULL; } CSingleLock lock(m_critSection); if (size() > 0) { CDateTime now = CDateTime::GetCurrentDateTime().GetAsUTCDateTime(); for (unsigned int iTagPtr = 0; iTagPtr < size(); iTagPtr++) { if (at(iTagPtr)->StartAsUTC() > now) { tag = *at(iTagPtr); return true; } } } return false; }