mirror of
https://github.com/reactos/reactos.git
synced 2024-10-01 06:57:08 +00:00
[WIN32K]
* Fix ShowingCursor counter interpretation. Values >= 0 means cursor is shown, values <0 means cursor is hidden. Fixes few user32:cursoricon tests. svn path=/trunk/; revision=51552
This commit is contained in:
parent
8d7e24af8f
commit
6774978a84
|
@ -63,7 +63,7 @@ InitCursorImpl()
|
|||
gSysCursorInfo.bClipped = FALSE;
|
||||
gSysCursorInfo.LastBtnDown = 0;
|
||||
gSysCursorInfo.CurrentCursorObject = NULL;
|
||||
gSysCursorInfo.ShowingCursor = 0;
|
||||
gSysCursorInfo.ShowingCursor = -1;
|
||||
gSysCursorInfo.ClickLockActive = FALSE;
|
||||
gSysCursorInfo.ClickLockTime = 0;
|
||||
|
||||
|
@ -129,7 +129,7 @@ UserSetCursor(
|
|||
/* Do we have a new cursor? */
|
||||
if (NewCursor)
|
||||
{
|
||||
CurInfo->ShowingCursor = 1;
|
||||
CurInfo->ShowingCursor = 0;
|
||||
CurInfo->CurrentCursorObject = NewCursor;
|
||||
|
||||
/* Call GDI to set the new screen cursor */
|
||||
|
@ -144,7 +144,7 @@ UserSetCursor(
|
|||
else
|
||||
{
|
||||
/* Check if were diplaying a cursor */
|
||||
if (OldCursor && CurInfo->ShowingCursor)
|
||||
if (OldCursor && CurInfo->ShowingCursor >= 0)
|
||||
{
|
||||
/* Remove the cursor */
|
||||
GreMovePointer(hdcScreen, -1, -1);
|
||||
|
@ -152,7 +152,7 @@ UserSetCursor(
|
|||
}
|
||||
|
||||
CurInfo->CurrentCursorObject = NULL;
|
||||
CurInfo->ShowingCursor = 0;
|
||||
CurInfo->ShowingCursor = -1;
|
||||
}
|
||||
|
||||
/* Return the old cursor */
|
||||
|
@ -219,13 +219,13 @@ int UserShowCursor(BOOL bShow)
|
|||
|
||||
if (!(hdcScreen = IntGetScreenDC()))
|
||||
{
|
||||
return 0; /* No mouse */
|
||||
return -1; /* No mouse */
|
||||
}
|
||||
|
||||
if (bShow == FALSE)
|
||||
{
|
||||
/* Check if were diplaying a cursor */
|
||||
if (CurInfo->ShowingCursor == 1)
|
||||
if (CurInfo->ShowingCursor == 0)
|
||||
{
|
||||
/* Remove the pointer */
|
||||
GreMovePointer(hdcScreen, -1, -1);
|
||||
|
@ -235,7 +235,7 @@ int UserShowCursor(BOOL bShow)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (CurInfo->ShowingCursor == 0)
|
||||
if (CurInfo->ShowingCursor == -1)
|
||||
{
|
||||
/*Show the pointer*/
|
||||
GreMovePointer(hdcScreen, gpsi->ptCursor.x, gpsi->ptCursor.y);
|
||||
|
@ -621,7 +621,7 @@ NtUserGetCursorInfo(
|
|||
CurIcon = (PCURICON_OBJECT)CurInfo->CurrentCursorObject;
|
||||
|
||||
SafeCi.cbSize = sizeof(CURSORINFO);
|
||||
SafeCi.flags = ((CurInfo->ShowingCursor && CurIcon) ? CURSOR_SHOWING : 0);
|
||||
SafeCi.flags = ((CurIcon && CurInfo->ShowingCursor >= 0) ? CURSOR_SHOWING : 0);
|
||||
SafeCi.hCursor = (CurIcon ? (HCURSOR)CurIcon->Self : (HCURSOR)0);
|
||||
|
||||
SafeCi.ptScreenPos = gpsi->ptCursor;
|
||||
|
|
Loading…
Reference in a new issue