Ticket #2432: mythtv.r11327.fixes.2.diff

File mythtv.r11327.fixes.2.diff, 3.3 KB (added by support@…, 14 years ago)

Backport of changes to 0.20-fixes branch - Corrected

  • libs/libmythtv/NuppelVideoPlayer.cpp

     
    24742474            }
    24752475        }
    24762476    }
     2477    else
     2478    {
     2479        OSD *osd = GetOSD();
     2480        if (osd)
     2481            osd->HideSet("interactive");
     2482    }
    24772483
    24782484    // handle EIA-608 and Teletext
    24792485    if (textDisplayMode & kDisplayNUVCaptions)
     
    58355841        if (GetInteractiveTV())
    58365842            interactiveTV->Restart(chanid, cardid, isLiveTV);
    58375843    }
    5838        
     5844   
    58395845    osd->ClearAll("interactive");
    58405846    itvosd->Display();
    58415847    osd->SetVisible(itvosd, 0);
  • libs/libmythtv/osdsurface.h

     
    2424
    2525    void Clear(void);
    2626    void ClearUsed(void);
     27    bool IsClear();
    2728
    2829    bool IntersectsDrawn(QRect &newrect);
    2930    void AddRect(QRect &newrect);
  • libs/libmythtv/osd.h

     
    6060
    6161    OSDSurface *Display(void);
    6262
     63    OSDSurface *GetDisplaySurface(void);
     64
    6365    void ClearAll(const QString &name);
    6466    void ClearAllText(const QString &name);
    6567    void SetText(const QString &name, QMap<QString, QString> &infoMap,
  • libs/libmythtv/videoout_xv.cpp

     
    28592859        VideoFrame *osdframe = NULL;
    28602860        int ret = DisplayOSD(xvmc_osd->OSDFrame(), osd, -1,
    28612861                             xvmc_osd->GetRevision());
    2862         OSDSurface *osdsurf = osd->Display();
     2862        OSDSurface *osdsurf = osd->GetDisplaySurface();
    28632863        if (osdsurf)
    28642864            xvmc_osd->SetRevision(osdsurf->GetRevision());
    28652865        if (ret >= 0 && xvmc_osd->NeedFrame())
  • libs/libmythtv/osdsurface.cpp

     
    135135    usedRegions = QRegion();
    136136}
    137137
     138bool OSDSurface::IsClear(void)
     139{
     140    return (usedRegions == QRegion());
     141}
     142
    138143bool OSDSurface::IntersectsDrawn(QRect &newrect)
    139144{
    140145    QMutexLocker lock(&usedRegionsLock);
     
    799804
    800805        if (startline < 0) startline = 0;
    801806        if (endline >= height) endline = height - 1;
    802         if (startcol < 0) endcol = 0;
     807        if (startcol < 0) startcol = 0;
    803808        if (endcol >= width) endcol = width - 1;
    804809
    805810        unsigned char *src;
  • libs/libmythtv/osd.cpp

     
    24742474    totalfadetime = 0;
    24752475}
    24762476
     2477OSDSurface *OSD::GetDisplaySurface(void)
     2478{
     2479    return drawSurface;
     2480}
     2481
    24772482OSDSurface *OSD::Display(void)
    24782483{
    24792484    bool anytodisplay = false;
     
    25452550
    25462551    m_setsvisible = anytodisplay;
    25472552
    2548     if (m_setsvisible)
     2553    if (m_setsvisible && !drawSurface->IsClear())
    25492554        return drawSurface;
    25502555
    25512556    return NULL;