* in the go32v2 video unit, do not check MouseIsVisible, but instead call

directly HideMouse/ShowMouse. It's safe to always call them, because the
  int 33h mouse driver maintains a hide counter, so it will keep the cursor
  hidden if it was already hidden. Additionally, when the cursor is drawn by
  the int 33h mouse driver, the value in the MouseIsVisible variable is
  actually wrong, because it doesn't take into account the hide counter
  maintained by the mouse driver.

git-svn-id: trunk@28980 -
This commit is contained in:
nickysn 2014-11-03 22:47:17 +00:00
parent 9419073608
commit dd285d7a16

View File

@ -194,12 +194,8 @@ begin
end;
procedure SysUpdateScreen(Force: Boolean);
var
Is_Mouse_Vis: boolean;
begin
Is_Mouse_Vis := MouseIsVisible; {MouseIsVisible is from Mouse unit}
if Is_Mouse_Vis then
HideMouse;
HideMouse;
if not force then
begin
asm
@ -221,8 +217,7 @@ begin
dosmemput(videoseg,0,videobuf^,VideoBufSize);
move(videobuf^,oldvideobuf^,VideoBufSize);
end;
if Is_Mouse_Vis then
ShowMouse;
ShowMouse;
end;
Procedure DoSetVideoMode(Params: Longint);