Ticket #3618: mythtv_tvchain_clearswitch.diff
File mythtv_tvchain_clearswitch.diff, 1.3 KB (added by , 16 years ago) |
---|
-
libs/libmythtv/livetvchain.cpp
374 374 ProgramInfo *LiveTVChain::GetSwitchProgram(bool &discont, bool &newtype, 375 375 int &newid) 376 376 { 377 LiveTVChainEntry oldentry, entry; 378 ProgramInfo *pginfo = NULL; 379 377 380 QMutexLocker lock(&m_lock); 378 381 379 382 if (m_switchid < 0 || m_curpos == m_switchid) 380 return NULL;383 goto clearswitch; 381 384 382 LiveTVChainEntry oldentry, entry;383 385 GetEntryAt(m_curpos, oldentry); 384 386 385 ProgramInfo *pginfo = NULL;386 387 while (!pginfo && m_switchid < (int)m_chain.count() && m_switchid >= 0) 387 388 { 388 389 GetEntryAt(m_switchid, entry); … … 398 399 } 399 400 400 401 if (!pginfo) 401 return NULL;402 goto clearswitch; 402 403 403 404 // Skip dummy recordings, if possible. 404 405 if (entry.cardtype == "DUMMY") … … 413 414 } 414 415 415 416 if (!pginfo) 416 return NULL;417 goto clearswitch; 417 418 418 419 discont = true; 419 420 if (m_curpos == m_switchid - 1) … … 433 434 } 434 435 435 436 newid = m_switchid; 436 m_switchid = -1;437 437 438 clearswitch: 439 ClearSwitch(); 440 438 441 return pginfo; 439 442 } 440 443