From: Magnus Olsen Date: Sun, 1 Jan 2006 13:36:06 +0000 (+0000) Subject: Fixing a small bug for hide mouse. Save the current surface under the mouse. But... X-Git-Tag: backups/expat-rbuild@40467~640 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=541e05f9c52f22842810c3863cdee12e1b82f904 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. svn path=/trunk/; revision=20510 --- diff --git a/reactos/subsys/win32k/eng/mouse.c b/reactos/subsys/win32k/eng/mouse.c index 05ffb9831ed..c609d96fcb0 100644 --- a/reactos/subsys/win32k/eng/mouse.c +++ b/reactos/subsys/win32k/eng/mouse.c @@ -210,15 +210,9 @@ IntShowMousePointer(GDIDEVICE *ppdev, SURFOBJ *DestSurface) { return; } - - 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 @@ IntShowMousePointer(GDIDEVICE *ppdev, SURFOBJ *DestSurface) { 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 @@ IntShowMousePointer(GDIDEVICE *ppdev, SURFOBJ *DestSurface) IntEngBitBltEx(DestSurface, MaskSurf, NULL, NULL, pgp->XlateObject, &DestRect, &SrcPoint, NULL, NULL, NULL, ROP3_TO_ROP4(SRCINVERT), FALSE); + } } EngUnlockSurface(MaskSurf); }