Author: akhaldi Date: Wed Jul 27 15:21:39 2016 New Revision: 72018
URL: http://svn.reactos.org/svn/reactos?rev=72018&view=rev Log: [0.4.2] * Apply the hackfix from CORE-9836 by Joachim Henze.
Modified: branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/class.c branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/cursoricon.c branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/msgqueue.c
Modified: branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/class.c URL: http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_2/reactos/win32ss... ============================================================================== --- branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/class.c [iso-8859-1] (original) +++ branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/class.c [iso-8859-1] Wed Jul 27 15:21:39 2016 @@ -267,8 +267,11 @@
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);
Modified: branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/cursoricon.c URL: http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_2/reactos/win32ss... ============================================================================== --- branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/cursoricon.c [iso-8859-1] (original) +++ branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/cursoricon.c [iso-8859-1] Wed Jul 27 15:21:39 2016 @@ -1086,11 +1086,14 @@ 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:
Modified: branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/msgqueue.c URL: http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_2/reactos/win32ss... ============================================================================== --- branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] (original) +++ branches/ros-branch-0_4_2/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] Wed Jul 27 15:21:39 2016 @@ -2288,8 +2288,12 @@ 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)