Browse Source

* 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 -

nickysn 10 years ago
parent
commit
dd285d7a16
1 changed files with 2 additions and 7 deletions
  1. 2 7
      packages/rtl-console/src/go32v2/video.pp

+ 2 - 7
packages/rtl-console/src/go32v2/video.pp

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