Commit 5228c2d3b40d976f451831a8a8b3092c37f44747

Authored by balrog
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] = {
... ...