summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libvgl/main.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/libvgl/main.c b/lib/libvgl/main.c
index d1cab57..6522230 100644
--- a/lib/libvgl/main.c
+++ b/lib/libvgl/main.c
@@ -57,7 +57,7 @@ static int VGLSwitchPending;
static int VGLOnDisplay;
static unsigned int VGLCurWindow;
static int VGLInitDone = 0;
-static struct winsize VGLOldWSize;
+static vid_info_t VGLOldVInfo;
void
VGLEnd()
@@ -80,8 +80,8 @@ struct vt_mode smode;
ioctl(0, _IO('V', VGLOldMode - M_VESA_BASE), 0);
if (VGLOldMode == M_VESA_800x600) {
int size[3];
- size[0] = VGLOldWSize.ws_col;
- size[1] = VGLOldWSize.ws_row;
+ size[0] = VGLOldVInfo.mv_csz;
+ size[1] = VGLOldVInfo.mv_rsz;
size[2] = 16;
ioctl(0, KDRASTER, size);
}
@@ -146,9 +146,11 @@ VGLInit(int mode)
return -1;
/* If current mode is VESA_800x600 then save its geometry to restore later */
- if ((VGLOldMode >= M_VESA_BASE) && (VGLOldMode == M_VESA_800x600))
- if (ioctl(0, TIOCGWINSZ, &VGLOldWSize))
+ if ((VGLOldMode >= M_VESA_BASE) && (VGLOldMode == M_VESA_800x600)) {
+ VGLOldVInfo.size = sizeof(VGLOldVInfo);
+ if (ioctl(0, CONS_GETINFO, &VGLOldVInfo))
return -1;
+ }
VGLDisplay = (VGLBitmap *)malloc(sizeof(VGLBitmap));
if (VGLDisplay == NULL)
OpenPOWER on IntegriCloud