Author: jimtabor
Date: Thu Oct 13 11:57:38 2011
New Revision: 54104
URL: http://svn.reactos.org/svn/reactos?rev=54104&view=rev
Log:
[Win32k]
- Restore global class operations.
[ComCtl32]
- Use local class since this has higher priority over all global classes.
[Themes]
- Tested with XP Luna and two others. Rune and another Luna.
Modified:
trunk/reactos/dll/win32/comctl32/theming.c
trunk/reactos/subsystems/win32/win32k/ntuser/class.c
Modified: trunk/reactos/dll/win32/comctl32/theming.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/theming…
==============================================================================
--- trunk/reactos/dll/win32/comctl32/theming.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/comctl32/theming.c [iso-8859-1] Thu Oct 13 11:57:38 2011
@@ -119,7 +119,7 @@
static const WCHAR refDataPropName[] =
{ 'C','C','3','2','T','h','e','m','i','n','g','D','a','t','a',0 };
- if (!IsThemeActive()) return;
+ if (!IsThemeActive()) return; // If so, un-register the class then register it again.
atSubclassProp = GlobalAddAtomW (subclassPropName);
atRefDataProp = GlobalAddAtomW (refDataPropName);
@@ -133,8 +133,7 @@
GetClassInfoExW (NULL, subclasses[i].className, &class);
originalProcs[i] = class.lpfnWndProc;
class.lpfnWndProc = subclassProcs[i];
- class.style |= CS_GLOBALCLASS;
- class.hInstance = COMCTL32_hModule;
+ class.hInstance = COMCTL32_hModule; // Always set the instance so it can be found again.
if (!class.lpfnWndProc)
{
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/class.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/class.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/class.c [iso-8859-1] Thu Oct 13 11:57:38 2011
@@ -1291,9 +1291,8 @@
if (lpwcx->style & CS_GLOBALCLASS)
{
- /* HACK: allow global classes to be re-registered*/
Class = IntFindClass( ClassAtom,
- lpwcx->hInstance,
+ NULL,
&pi->pclsPublicList,
NULL);