Ticket #2432: mythtv.r11327.fixes.2.diff
File mythtv.r11327.fixes.2.diff, 3.3 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/NuppelVideoPlayer.cpp
2474 2474 } 2475 2475 } 2476 2476 } 2477 else 2478 { 2479 OSD *osd = GetOSD(); 2480 if (osd) 2481 osd->HideSet("interactive"); 2482 } 2477 2483 2478 2484 // handle EIA-608 and Teletext 2479 2485 if (textDisplayMode & kDisplayNUVCaptions) … … 5835 5841 if (GetInteractiveTV()) 5836 5842 interactiveTV->Restart(chanid, cardid, isLiveTV); 5837 5843 } 5838 5844 5839 5845 osd->ClearAll("interactive"); 5840 5846 itvosd->Display(); 5841 5847 osd->SetVisible(itvosd, 0); -
libs/libmythtv/osdsurface.h
24 24 25 25 void Clear(void); 26 26 void ClearUsed(void); 27 bool IsClear(); 27 28 28 29 bool IntersectsDrawn(QRect &newrect); 29 30 void AddRect(QRect &newrect); -
libs/libmythtv/osd.h
60 60 61 61 OSDSurface *Display(void); 62 62 63 OSDSurface *GetDisplaySurface(void); 64 63 65 void ClearAll(const QString &name); 64 66 void ClearAllText(const QString &name); 65 67 void SetText(const QString &name, QMap<QString, QString> &infoMap, -
libs/libmythtv/videoout_xv.cpp
2859 2859 VideoFrame *osdframe = NULL; 2860 2860 int ret = DisplayOSD(xvmc_osd->OSDFrame(), osd, -1, 2861 2861 xvmc_osd->GetRevision()); 2862 OSDSurface *osdsurf = osd-> Display();2862 OSDSurface *osdsurf = osd->GetDisplaySurface(); 2863 2863 if (osdsurf) 2864 2864 xvmc_osd->SetRevision(osdsurf->GetRevision()); 2865 2865 if (ret >= 0 && xvmc_osd->NeedFrame()) -
libs/libmythtv/osdsurface.cpp
135 135 usedRegions = QRegion(); 136 136 } 137 137 138 bool OSDSurface::IsClear(void) 139 { 140 return (usedRegions == QRegion()); 141 } 142 138 143 bool OSDSurface::IntersectsDrawn(QRect &newrect) 139 144 { 140 145 QMutexLocker lock(&usedRegionsLock); … … 799 804 800 805 if (startline < 0) startline = 0; 801 806 if (endline >= height) endline = height - 1; 802 if (startcol < 0) endcol = 0;807 if (startcol < 0) startcol = 0; 803 808 if (endcol >= width) endcol = width - 1; 804 809 805 810 unsigned char *src; -
libs/libmythtv/osd.cpp
2474 2474 totalfadetime = 0; 2475 2475 } 2476 2476 2477 OSDSurface *OSD::GetDisplaySurface(void) 2478 { 2479 return drawSurface; 2480 } 2481 2477 2482 OSDSurface *OSD::Display(void) 2478 2483 { 2479 2484 bool anytodisplay = false; … … 2545 2550 2546 2551 m_setsvisible = anytodisplay; 2547 2552 2548 if (m_setsvisible )2553 if (m_setsvisible && !drawSurface->IsClear()) 2549 2554 return drawSurface; 2550 2555 2551 2556 return NULL;