solv the issue with mouse poiter is hide, do not show the mousepointer when you are moving the mouse. tested in winquake
Modified: trunk/reactos/subsys/win32k/eng/mouse.c
Modified: trunk/reactos/subsys/win32k/include/dc.h
Modified: trunk/reactos/subsys/win32k/ntuser/misc.c

Modified: trunk/reactos/subsys/win32k/eng/mouse.c
--- trunk/reactos/subsys/win32k/eng/mouse.c	2005-12-30 23:53:13 UTC (rev 20474)
+++ trunk/reactos/subsys/win32k/eng/mouse.c	2005-12-30 23:56:27 UTC (rev 20475)
@@ -153,10 +153,13 @@
       return;
    }
 
+      
+
    pgp->Enabled = FALSE;
 
    pt.x = pgp->Pos.x - pgp->HotSpot.x;
    pt.y = pgp->Pos.y - pgp->HotSpot.y;
+   
 
    if (pgp->SaveSurface != NULL)
    {
@@ -207,7 +210,13 @@
    {
       return;
    }
+   
+   if (pgp->ShowPointer == 1)
+   {
+      return ;
+   }
 
+
    pgp->Enabled = TRUE;
 
    pt.x = pgp->Pos.x - pgp->HotSpot.x;

Modified: trunk/reactos/subsys/win32k/include/dc.h
--- trunk/reactos/subsys/win32k/include/dc.h	2005-12-30 23:53:13 UTC (rev 20474)
+++ trunk/reactos/subsys/win32k/include/dc.h	2005-12-30 23:56:27 UTC (rev 20475)
@@ -134,6 +134,7 @@
   HSURF ColorSurface;
   HSURF MaskSurface;
   HSURF SaveSurface;
+  BOOL  ShowPointer;
   
   /* public pointer information */
   RECTL Exclude; /* required publicly for SPS_ACCEPT_EXCLUDE */

Modified: trunk/reactos/subsys/win32k/ntuser/misc.c
--- trunk/reactos/subsys/win32k/ntuser/misc.c	2005-12-30 23:53:13 UTC (rev 20474)
+++ trunk/reactos/subsys/win32k/ntuser/misc.c	2005-12-30 23:56:27 UTC (rev 20475)
@@ -237,8 +237,9 @@
       {
           if (CurInfo->ShowingCursor != 0)
           {
-             ppdev->SafetyRemoveCount = 1;
-             ppdev->SafetyRemoveLevel = 1;
+             pgp->ShowPointer = 1;
+             //ppdev->SafetyRemoveCount = 1;
+             //ppdev->SafetyRemoveLevel = 1;
              EngMovePointer(SurfObj,-1,-1,NULL);               
              CurInfo->ShowingCursor = 0;                
            }
@@ -247,8 +248,9 @@
        else
        {
           /* Show Cursor */              
-          ppdev->SafetyRemoveCount = 0;
-          ppdev->SafetyRemoveLevel = 0;
+          pgp->ShowPointer = 0;
+          //ppdev->SafetyRemoveCount = 0;
+          //ppdev->SafetyRemoveLevel = 0;
           EngMovePointer(SurfObj,-1,-1,NULL);
           CurInfo->ShowingCursor = CURSOR_SHOWING;
        }