[0.4.2] * Apply the hackfix from CORE-9836 by Joachim Henze.

svn path=/branches/ros-branch-0_4_2/; revision=72018
This commit is contained in:
Amine Khaldi 2016-07-27 15:21:39 +00:00
parent a20eaf6799
commit 392a9398e2
3 changed files with 16 additions and 6 deletions

View file

@ -267,8 +267,11 @@ IntDestroyClass(IN OUT PCLS Class)
if (Class->spicn)
UserDereferenceObject(Class->spicn);
if (Class->spcur)
if (Class->spcur && !UserObjectInDestroy(Class->spcur))
{
UserDereferenceObject(Class->spcur);
Class->spcur = NULL;
}
if (Class->spicnSm)
{
UserDereferenceObject(Class->spicnSm);

View file

@ -1086,11 +1086,14 @@ NtUserSetCursor(
goto leave;
}
pcurOld->CURSORF_flags &= ~CURSORF_CURRENT;
/* See if it was destroyed in the meantime */
if (UserObjectInDestroy(hOldCursor))
hOldCursor = NULL;
pcurOld->CURSORF_flags &= ~CURSORF_CURRENT;
UserDereferenceObject(pcurOld);
{
UserDereferenceObject(pcurOld);
pcurOld = NULL;
}
}
leave:

View file

@ -2288,8 +2288,12 @@ MsqCleanupMessageQueue(PTHREADINFO pti)
IntGetSysCursorInfo()->CurrentCursorObject = NULL;
}
TRACE("DereferenceObject pCursor\n");
UserDereferenceObject(pCursor);
if (pCursor && UserObjectInDestroy(UserHMGetHandle(pCursor)))
{
TRACE("DereferenceObject pCursor\n");
UserDereferenceObject(pCursor);
pCursor = NULL;
}
}
if (gpqForeground == MessageQueue)