Author: jgardou
Date: Thu Oct 23 11:46:06 2014
New Revision: 64921
URL: http://svn.reactos.org/svn/reactos?rev=64921&view=rev
Log:
[WIN32SS]
- In an incredibly daring move, enable the long awaited new cursors & icons implementation, featuring:
- Alpha channeled cursors
- Animated cursors (only the first frame is displayed now)
- Less leaks (tm)
- Tests that pass(tm)
- Copying icons and cursors from DLL resources, for beautifuler ReactOS, your turn gigaherz ;-)
- A lot of other things which I am very proud of.
CORE-7575 #resolve
Modified:
trunk/reactos/win32ss/CMakeLists.txt
Modified: trunk/reactos/win32ss/CMakeLists.txt
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/CMakeLists.txt?rev…
==============================================================================
--- trunk/reactos/win32ss/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/win32ss/CMakeLists.txt [iso-8859-1] Thu Oct 23 11:46:06 2014
@@ -1,6 +1,6 @@
set(USE_DIBLIB FALSE)
-set(USE_NEW_CURSORICON FALSE)
+set(USE_NEW_CURSORICON TRUE)
# Give WIN32 subsystem its own project.
PROJECT(WIN32SS)
Author: jgardou
Date: Thu Oct 23 09:32:46 2014
New Revision: 64914
URL: http://svn.reactos.org/svn/reactos?rev=64914&view=rev
Log:
[WIN32K]
- Reference cursor and icon objects when copying a class from one heap to another.
CORE-7575
Modified:
trunk/reactos/win32ss/user/ntuser/class.c
Modified: trunk/reactos/win32ss/user/ntuser/class.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/class.…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/class.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/class.c [iso-8859-1] Thu Oct 23 09:32:46 2014
@@ -838,6 +838,16 @@
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);