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/win32s…
==============================================================================
--- 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/win32s…
==============================================================================
--- 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/win32s…
==============================================================================
--- 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)