Fixing a small bug for hide mouse. Save the current surface under the mouse. But do not blt the mouse pointer. it take care of small glict I have seen in winqauke.
Modified: trunk/reactos/subsys/win32k/eng/mouse.c

Modified: trunk/reactos/subsys/win32k/eng/mouse.c
--- trunk/reactos/subsys/win32k/eng/mouse.c	2006-01-01 13:31:26 UTC (rev 20509)
+++ trunk/reactos/subsys/win32k/eng/mouse.c	2006-01-01 13:36:06 UTC (rev 20510)
@@ -210,15 +210,9 @@
    {
       return;
    }
+     
+   pgp->Enabled = TRUE;
    
-   if (pgp->ShowPointer < 0)
-   {
-      return ;
-   }
-
-
-   pgp->Enabled = TRUE;
-
    pt.x = pgp->Pos.x - pgp->HotSpot.x;
    pt.y = pgp->Pos.y - pgp->HotSpot.y;
 
@@ -281,14 +275,19 @@
         {
            if((ColorSurf = EngLockSurface(pgp->ColorSurface)))
            {
-             IntEngBitBltEx(DestSurface, ColorSurf, MaskSurf, NULL,
+             if (pgp->ShowPointer >= 0)
+             {
+                IntEngBitBltEx(DestSurface, ColorSurf, MaskSurf, NULL,
                             pgp->XlateObject, &DestRect, &SrcPoint, &SrcPoint,
                             NULL, NULL, R4_MASK, FALSE);
-             EngUnlockSurface(ColorSurf);
+                EngUnlockSurface(ColorSurf);
+             }
            }
         }
         else
         {
+            if (pgp->ShowPointer >= 0)
+            {
            IntEngBitBltEx(DestSurface, MaskSurf, NULL, NULL, pgp->XlateObject,
                           &DestRect, &SrcPoint, NULL, NULL, NULL,
                           ROP3_TO_ROP4(SRCAND), FALSE);
@@ -296,6 +295,7 @@
            IntEngBitBltEx(DestSurface, MaskSurf, NULL, NULL, pgp->XlateObject,
                           &DestRect, &SrcPoint, NULL, NULL, NULL,
                           ROP3_TO_ROP4(SRCINVERT), FALSE);
+           }
         }
         EngUnlockSurface(MaskSurf);
       }