Ticket #3019: continue_play_while_in_program_guide.diff
File continue_play_while_in_program_guide.diff, 3.3 KB (added by , 17 years ago) |
---|
-
libs/libmythtv/guidegrid.cpp
33 33 #include "remoteutil.h" 34 34 #include "channelutil.h" 35 35 36 QWaitCondition ggIsVisibleCond; 37 36 38 bool RunProgramGuide(uint &chanid, QString &channum, 37 39 bool thread, TV *player, 38 40 bool allowsecondaryepg) … … 53 55 if (thread) 54 56 { 55 57 qApp->unlock(); 56 57 while (gg->isVisible()) 58 usleep(50); 58 ggIsVisibleCond.wait(); 59 59 } 60 60 else 61 61 gg->exec(); … … 292 297 m_channelInfos.clear(); 293 298 294 299 delete theme; 300 301 if (timeCheck) 302 { 303 timeCheck->disconnect(this); 304 timeCheck->deleteLater(); 305 timeCheck = NULL; 306 } 307 308 if (jumpToChannelTimer) 309 { 310 jumpToChannelTimer->disconnect(this); 311 jumpToChannelTimer->deleteLater(); 312 jumpToChannelTimer = NULL; 313 } 295 314 } 296 315 297 316 void GuideGrid::keyPressEvent(QKeyEvent *e) … … 1635 1654 } 1636 1655 1637 1656 unsetCursor(); 1657 ggIsVisibleCond.wakeAll(); 1638 1658 accept(); 1639 1659 } 1640 1660 -
libs/libmythtv/tv_play.cpp
4996 5062 bool changeChannel = false; 4997 5063 ProgramInfo *nextProgram = NULL; 4998 5064 5065 // See if we can provide a channel preview in EPG 5066 bool allowsecondary = true; 5067 if (nvp && nvp->getVideoOutput()) 5068 allowsecondary = nvp->getVideoOutput()->AllowPreviewEPG(); 5069 4999 5070 if (StateIsLiveTV(GetState())) 5000 5071 { 5001 5072 switch (editType) … … 5003 5074 default: 5004 5075 case kScheduleProgramGuide: 5005 5076 { 5006 // See if we can provide a channel preview in EPG5007 bool allowsecondary = true;5008 if (nvp && nvp->getVideoOutput())5009 allowsecondary = nvp->getVideoOutput()->AllowPreviewEPG();5010 5011 5077 // Start up EPG 5012 5078 changeChannel = RunProgramGuide(chanid, channum, true, this, allowsecondary); 5013 5079 break; … … 5047 5113 if (!paused) 5048 5114 DoPause(false); 5049 5115 5116 long long margin = 5117 (long long)(nvp->GetFrameRate() * nvp->GetAudioStretchFactor()); 5118 5050 5119 switch (editType) 5051 5120 { 5052 5121 default: 5053 5122 case kScheduleProgramGuide: 5054 RunProgramGuide(chanid, channum, true); 5123 { 5124 if (!stayPaused && paused && !isnearend) 5125 { 5126 DoPause(false); 5127 stayPaused = true; 5128 } 5129 RunProgramGuide(chanid, channum, true, this, allowsecondary); 5055 5130 break; 5131 } 5056 5132 case kScheduleProgramFinder: 5057 5133 RunProgramFind(true, false); 5058 5134 break; … … 5067 5143 } 5068 5144 case kPlaybackBox: 5069 5145 { 5070 long long margin =5071 (long long)(nvp->GetFrameRate() * nvp->GetAudioStretchFactor());5072 5146 // keep video paused if only 5 seconds left in recording 5073 5147 margin = margin * 5; 5074 5148 QDomElement pbbxmldata;