Commit 5228c2d3b40d976f451831a8a8b3092c37f44747
1 parent
29885477
Force a resize after leaving graphical mode in curses (spotted by Samuel Thibault).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3978 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
8 additions
and
7 deletions
hw/vga.c
... | ... | @@ -1674,8 +1674,7 @@ static void vga_update_text(void *opaque, console_ch_t *chardata) |
1674 | 1674 | uint32_t *src; |
1675 | 1675 | console_ch_t *dst, val; |
1676 | 1676 | char msg_buffer[80]; |
1677 | - int full_update; | |
1678 | - full_update = 0; | |
1677 | + int full_update = 0; | |
1679 | 1678 | |
1680 | 1679 | if (!(s->ar_index & 0x20)) { |
1681 | 1680 | graphic_mode = GMODE_BLANK; |
... | ... | @@ -1804,19 +1803,21 @@ static void vga_update_text(void *opaque, console_ch_t *chardata) |
1804 | 1803 | } |
1805 | 1804 | |
1806 | 1805 | /* Display a message */ |
1806 | + s->last_width = 60; | |
1807 | + s->last_height = height = 3; | |
1807 | 1808 | dpy_cursor(s->ds, -1, -1); |
1808 | - dpy_resize(s->ds, 60, 3); | |
1809 | + dpy_resize(s->ds, s->last_width, height); | |
1809 | 1810 | |
1810 | - for (dst = chardata, i = 0; i < 60 * 3; i ++) | |
1811 | + for (dst = chardata, i = 0; i < s->last_width * height; i ++) | |
1811 | 1812 | console_write_ch(dst ++, ' '); |
1812 | 1813 | |
1813 | 1814 | size = strlen(msg_buffer); |
1814 | - width = (60 - size) / 2; | |
1815 | - dst = chardata + 60 + width; | |
1815 | + width = (s->last_width - size) / 2; | |
1816 | + dst = chardata + s->last_width + width; | |
1816 | 1817 | for (i = 0; i < size; i ++) |
1817 | 1818 | console_write_ch(dst ++, 0x00200100 | msg_buffer[i]); |
1818 | 1819 | |
1819 | - dpy_update(s->ds, 0, 0, 60, 3); | |
1820 | + dpy_update(s->ds, 0, 0, s->last_width, height); | |
1820 | 1821 | } |
1821 | 1822 | |
1822 | 1823 | static CPUReadMemoryFunc *vga_mem_read[3] = { | ... | ... |