Author: jimtabor
Date: Sun Mar 29 16:25:50 2015
New Revision: 66968
URL:
http://svn.reactos.org/svn/reactos?rev=66968&view=rev
Log:
[NtUser]
- Fix the transfer of a global cursor while using ATI. See CORE-9436.
Modified:
trunk/reactos/win32ss/user/ntuser/input.c
Modified: trunk/reactos/win32ss/user/ntuser/input.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/input.…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/input.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/input.c [iso-8859-1] Sun Mar 29 16:25:50 2015
@@ -523,8 +523,15 @@
MsqDestroyMessageQueue(ptiFrom);
+ if (CurIcon)
+ {
+ // Could be global. Keep it above the water line!
+ UserReferenceObject(CurIcon);
+ }
+
if (CurIcon && UserObjectInDestroy(UserHMGetHandle(CurIcon)))
{
+ UserDereferenceObject(CurIcon);
CurIcon = NULL;
}
@@ -533,8 +540,8 @@
// Pass cursor From if To is null. Pass test_SetCursor parent_id == current
pti ID.
if (CurIcon && ptiTo->MessageQueue->CursorObject == NULL)
{
+ ERR("ptiTo receiving ptiFrom Cursor\n");
ptiTo->MessageQueue->CursorObject = CurIcon;
- UserReferenceObject(CurIcon);
}
ptiFrom->MessageQueue->cThreads++;