[mythtv-commits] Ticket #1461: XvMC OSD does not fade away cleanly

MythTV mythtv at cvs.mythtv.org
Sun Mar 19 19:31:51 UTC 2006


#1461: XvMC OSD does not fade away cleanly
-------------------------------------+--------------------------------------
 Reporter:  htpc at treblid.dyndns.org  |        Owner:  ijr
     Type:  defect                   |       Status:  new
 Priority:  minor                    |    Milestone:     
Component:  mythtv                   |      Version:     
 Severity:  medium                   |   Resolution:     
-------------------------------------+--------------------------------------
Comment (by mrvanes at gmail.com):

 Just looked into the problem and found the solution (for me at least).
 I allways have fadeout set to 0 (osd.xml) because my system is too slow to
 have long transparent fadeout (or at least was with old code). The
 behaviour for fadeout=0 is now broken in HEAD:

 Looking into the OSD code I finally reached osdtypes.cpp with the method:
 void OSDSet::Draw(OSDSurface *surface, bool actuallydraw)

 In this method the fadeout/timeouts are handled around line 364:

     if (m_fadetime > 0)
     {

        [cut]

         if (m_fadetime <= 0)
         {
             m_fadetime = 0;
             if (currentOSDFunctionalType)
             {
                 emit OSDClosed(currentOSDFunctionalType);
                 currentOSDFunctionalType = 0;
             }
         }
     }

     if (m_timeleft <= 0 && m_fadetime <= 0)
         m_displaying = false;

 As you can see, in the case of (m_timeleft <= 0 && m_fadetime <= 0)
 OSDClosed is never emitted!
 I have NO idea if setting m_displaying = false is supposed to clear the
 OSD (I guess so) but it obviously doesn't.

 Changing fadeout to 1 in my osd.xml fixed the problem for me.

 Grtz.
 Martin

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/1461>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list