From: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> The code was incorrectly calculating the end address rather than the size of the required region.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> --- hw/display/cg3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/display/cg3.c b/hw/display/cg3.c index e05ca92..6e19da0 100644 --- a/hw/display/cg3.c +++ b/hw/display/cg3.c @@ -115,7 +115,7 @@ static void cg3_update_display(void *opaque) int update = s->full_update; page = y * width; - update |= memory_region_get_dirty(&s->vram_mem, page, page + width, + update |= memory_region_get_dirty(&s->vram_mem, page, width - 1, DIRTY_MEMORY_VGA); if (update) { if (y_start < 0) { -- 2.9.3