Fix a division-by-zero problem by storing the mouse driver's Width and Height
in DWORDs, thus avoiding the integer overflow which could make them zero.


svn path=/trunk/; revision=69408
This commit is contained in:
Aleksandar Andrejevic 2015-09-28 18:55:26 +00:00
parent 646f9543f1
commit 8041081764

View file

@ -211,8 +211,8 @@ static VOID EraseMouseCursor(VOID)
static VOID ToMouseCoordinates(PCOORD Position) static VOID ToMouseCoordinates(PCOORD Position)
{ {
COORD Resolution = VgaGetDisplayResolution(); COORD Resolution = VgaGetDisplayResolution();
WORD Width = DriverState.MaxX - DriverState.MinX + 1; DWORD Width = DriverState.MaxX - DriverState.MinX + 1;
WORD Height = DriverState.MaxY - DriverState.MinY + 1; DWORD Height = DriverState.MaxY - DriverState.MinY + 1;
if (!VgaGetDoubleVisionState(NULL, NULL)) if (!VgaGetDoubleVisionState(NULL, NULL))
{ {
@ -227,8 +227,8 @@ static VOID ToMouseCoordinates(PCOORD Position)
static VOID FromMouseCoordinates(PCOORD Position) static VOID FromMouseCoordinates(PCOORD Position)
{ {
COORD Resolution = VgaGetDisplayResolution(); COORD Resolution = VgaGetDisplayResolution();
WORD Width = DriverState.MaxX - DriverState.MinX + 1; DWORD Width = DriverState.MaxX - DriverState.MinX + 1;
WORD Height = DriverState.MaxY - DriverState.MinY + 1; DWORD Height = DriverState.MaxY - DriverState.MinY + 1;
if (!VgaGetDoubleVisionState(NULL, NULL)) if (!VgaGetDoubleVisionState(NULL, NULL))
{ {