aboutsummaryrefslogtreecommitdiffstats
path: root/vxd_vbe.c
diff options
context:
space:
mode:
authorJaroslav Hensl <jara@hensl.cz>2024-12-01 14:45:38 +0100
committerJaroslav Hensl <jara@hensl.cz>2024-12-01 14:45:38 +0100
commit3cd2c05f47e08a1364589638fa0f8bbcc50f14d1 (patch)
tree14a96f4186c5174d153e14b43c44481474603868 /vxd_vbe.c
parente1619890b60bf83a7e0a28c3e038589208d76a72 (diff)
downloadvmdisp9x-3cd2c05f47e08a1364589638fa0f8bbcc50f14d1.tar.gz
clear surface on mode change
Diffstat (limited to 'vxd_vbe.c')
-rw-r--r--vxd_vbe.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vxd_vbe.c b/vxd_vbe.c
index 79f9508..4d78939 100644
--- a/vxd_vbe.c
+++ b/vxd_vbe.c
@@ -204,6 +204,11 @@ BOOL VBE_validmode(DWORD w, DWORD h, DWORD bpp)
return FALSE;
}
+void VBE_clear()
+{
+ memset(hda->vram_pm32, 0, hda->pitch*hda->height);
+}
+
BOOL VBE_setmode(DWORD w, DWORD h, DWORD bpp)
{
if(!VBE_validmode(w, h, bpp)) return FALSE;
@@ -262,6 +267,8 @@ BOOL VBE_setmode(DWORD w, DWORD h, DWORD bpp)
hda->pitch = VBE_pitch(w, bpp);
hda->stride = h * hda->pitch;
hda->surface = 0;
+
+ VBE_clear();
mouse_invalidate();