diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-10-09 17:10:13 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2012-11-01 13:10:06 +0100 |
commit | 9678aedd8e76978465698b9edeb069ccee15e975 (patch) | |
tree | 83449a10c100ed71cfe079c031de624884b0d93d /hw/vga_int.h | |
parent | e250d949feb1334828f27f0d145c35f29c4b7639 (diff) | |
download | qemu-9678aedd8e76978465698b9edeb069ccee15e975.zip qemu-9678aedd8e76978465698b9edeb069ccee15e975.tar.gz qemu-9678aedd8e76978465698b9edeb069ccee15e975.tar.bz2 |
vga: fix text mode updating
With both text (curses) and graphics (vnc/sdl/spice/...) display active
vga text mode emulation fails to update both correctly. Depending on
whenever vga_update_text() or vga_draw_text() happens to be called first
only the text display or only the graphics display will see display
resolution changes and full redraws.
Fix it by calling both text/gfx resize functions in both code paths and
keep track of full screen redraws needed in VGACommonState fields.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/vga_int.h')
-rw-r--r-- | hw/vga_int.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/vga_int.h b/hw/vga_int.h index 22f1706..d4da777 100644 --- a/hw/vga_int.h +++ b/hw/vga_int.h @@ -154,6 +154,8 @@ typedef struct VGACommonState { vga_hw_invalidate_ptr invalidate; vga_hw_screen_dump_ptr screen_dump; vga_hw_text_update_ptr text_update; + bool full_update_text; + bool full_update_gfx; /* hardware mouse cursor support */ uint32_t invalidated_y_table[VGA_MAX_HEIGHT / 32]; void (*cursor_invalidate)(struct VGACommonState *s); |