Use CONS_GETINFO ioctl to get geometry of the current text mode instead of

TIOCGWINSZ. The former is more correct in this context.
This commit is contained in:
Maxim Sobolev 2001-05-19 17:05:52 +00:00
parent c103d24a09
commit a8e00009c5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=76852

View File

@ -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)