From 6e51ca263bbfe99c81345f012a725447557124df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Thu, 23 Oct 2014 09:32:46 +0000 Subject: [PATCH] [WIN32K] - Reference cursor and icon objects when copying a class from one heap to another. CORE-7575 svn path=/trunk/; revision=64914 --- reactos/win32ss/user/ntuser/class.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/reactos/win32ss/user/ntuser/class.c b/reactos/win32ss/user/ntuser/class.c index dd95752e04f..8fa16149366 100644 --- a/reactos/win32ss/user/ntuser/class.c +++ b/reactos/win32ss/user/ntuser/class.c @@ -838,6 +838,16 @@ IntMoveClassToSharedHeap(IN OUT PCLS Class, NewClass->rpdeskParent = NULL; NewClass->pclsBase = NewClass; +#ifdef NEW_CURSORICON + if (NewClass->spcur) + UserReferenceObject(NewClass->spcur); + if (NewClass->spicn) + UserReferenceObject(NewClass->spicn); + if (NewClass->spicnSm) + UserReferenceObject(NewClass->spicnSm); +#endif + + /* Replace the class in the list */ (void)InterlockedExchangePointer((PVOID*)*ClassLinkPtr, NewClass);