Opened 3 years ago
Closed 3 years ago
Last modified 3 years ago
[PATCH] libmythui: Fix a redraw bug in MythUIType
|Reported by:||Lawrence Rust <lvr@…>||Owned by:||stuartm|
|Component:||MythTV - General||Version:||Master Head|
|Severity:||medium||Keywords:||keypress redraw tearfree|
While evaluating the ATI Catalyst driver '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.
Change History (5)
Changed 3 years ago by Lawrence Rust <lvr@…>
comment:1 Changed 3 years ago by beirdo
- Owner set to stuartm
- Status changed from new to assigned
comment:2 Changed 3 years ago by stuartm
- Milestone changed from unknown to 0.27
- Status changed from assigned to accepted
comment:3 Changed 3 years ago by Lawrence Rust <lvr@…>
- Resolution set to fixed
- Status changed from accepted to closed