Fixed possible segfault in win32 gui when switching back from Voodoo to VBE or

Cirrus mode. Set font height to 0 in graphics modes and fixed argument order.
This commit is contained in:
Volker Ruppert 2017-05-07 14:52:37 +00:00
parent eb89cdaea4
commit e956100a60
3 changed files with 3 additions and 1 deletions

View File

@ -1101,6 +1101,7 @@ void bx_svga_cirrus_c::svga_modeupdate(void)
BX_CIRRUS_THIS s.last_xres = iWidth;
BX_CIRRUS_THIS s.last_yres = iHeight;
BX_CIRRUS_THIS s.last_bpp = iDispBpp;
BX_CIRRUS_THIS s.last_fh = 0;
}
void bx_svga_cirrus_c::draw_hardware_cursor(unsigned xc, unsigned yc, bx_svga_tileinfo_t *info)

View File

@ -1217,6 +1217,7 @@ Bit32u bx_vga_c::vbe_write(Bit32u address, Bit32u value, unsigned io_len)
}
bx_gui->dimension_update(BX_VGA_THIS vbe.xres, BX_VGA_THIS vbe.yres, 0, 0, depth);
BX_VGA_THIS s.last_bpp = depth;
BX_VGA_THIS s.last_fh = 0;
} else {
BX_VGA_THIS s.plane_shift = VBE_DISPI_4BPP_PLANE_SHIFT;
BX_VGA_THIS s.plane_offset = (BX_VGA_THIS vbe.bank << 16);

View File

@ -1302,7 +1302,7 @@ void bx_vgacore_c::set_override(bx_bool enabled, void *dev)
#endif
if (!enabled) {
bx_gui->dimension_update(BX_VGA_THIS s.last_xres, BX_VGA_THIS s.last_yres,
BX_VGA_THIS s.last_fw, BX_VGA_THIS s.last_fh, BX_VGA_THIS s.last_bpp);
BX_VGA_THIS s.last_fh, BX_VGA_THIS s.last_fw, BX_VGA_THIS s.last_bpp);
BX_VGA_THIS redraw_area(0, 0, BX_VGA_THIS s.last_xres, BX_VGA_THIS s.last_yres);
}
}