[mythtv-commits] Ticket #10695: [PATCH] libmythui: Fix a redraw bug in MythUIType
MythTV
noreply at mythtv.org
Mon Oct 8 19:03:30 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
--------------------------------------+-----------------------------
Comment (by Lawrence Rust <lvr@…>):
In [changeset:2d2932ac11ed6d01f05f502a8e373455774ba46a/mythtv]:
{{{
#!CommitTicketReference repository="mythtv"
revision="2d2932ac11ed6d01f05f502a8e373455774ba46a"
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
MythMainWindow::animate
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>
(cherry picked from commit 39984eb579369f6cb25cd8f57acb8b23ebcccfc6)
}}}
--
Ticket URL: <http://code.mythtv.org/trac/ticket/10695#comment:4>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
More information about the mythtv-commits
mailing list