[mythtv-commits] Ticket #10695: [PATCH] libmythui: Fix a redraw bug in MythUIType

MythTV noreply at mythtv.org
Mon Oct 8 18:58:18 UTC 2012

#10695: [PATCH] libmythui: Fix a redraw bug in MythUIType
 Reporter:  Lawrence Rust <lvr@…>     |          Owner:  stuartm
     Type:  Patch - Bug Fix           |         Status:  closed
 Priority:  minor                     |      Milestone:  0.27
Component:  MythTV - General          |        Version:  Master Head
 Severity:  medium                    |     Resolution:  fixed
 Keywords:  keypress redraw tearfree  |  Ticket locked:  0
Changes (by Lawrence Rust <lvr@…>):

 * status:  accepted => closed
 * resolution:   => fixed


 In [changeset:39984eb579369f6cb25cd8f57acb8b23ebcccfc6/mythtv]:
 #!CommitTicketReference repository="mythtv"
 libmythui: Fix a redraw bug in MythUIType

 While evaluating the ATI Catalyst 'TearFree Desktop' option I noticed
 that sometimes a keypress was apparently being held up until the time
 on the main menu was updated.  Initially I thought that this was a lirc
 or fglrx issue, but on investigation it turned out that
 was requesting updates for empty repaint regions.  Delving further
 showed that MythUIType::Draw was resetting m_DirtyRegion to empty
 even if the clipRect was smaller, thus leaving unpainted regions.

 m_DirtyRegion may be extended by HandleMovementPulse, SetRedraw
 or SetChildNeedsRedraw etc AFTER GetDirtyArea is called.
 So when MythUIType::Draw is called, clipRect may not include the whole
 of m_DirtyRegion.

 This patch subtracts the Draw clipRect from m_DirtyRegion instead of
 simply emtying it.

 Fixes #10695

 Signed-off-by: Lawrence Rust <lvr at softsystem.co.uk>
 Signed-off-by: Stuart Morgan <smorgan at mythtv.org>

Ticket URL: <http://code.mythtv.org/trac/ticket/10695#comment:3>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center

More information about the mythtv-commits mailing list