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