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);
}