Author: greatlrd
Date: Wed Apr 5 14:46:00 2006
New Revision: 21463
URL:
http://svn.reactos.ru/svn/reactos?rev=21463&view=rev
Log:
revers my last commit it was misunderstanding from my side
Modified:
trunk/reactos/subsystems/win32/win32k/include/class.h
trunk/reactos/subsystems/win32/win32k/ntuser/class.c
trunk/reactos/subsystems/win32/win32k/ntuser/window.c
Modified: trunk/reactos/subsystems/win32/win32k/include/class.h
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/class.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/class.h Wed Apr 5 14:46:00 2006
@@ -32,8 +32,7 @@
DestroyProcessClasses(PW32PROCESS Process );
PWINDOWCLASS
-IntReferenceClass(IN OUT PWINDOWCLASS BaseClass,
- IN OUT PWINDOWCLASS *ClassLink,
+IntReferenceClass(IN PWINDOWCLASS BaseClass,
IN PDESKTOP Desktop);
VOID
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/class.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/class.c (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/class.c Wed Apr 5 14:46:00 2006
@@ -361,8 +361,7 @@
}
static PWINDOWCLASS
-IntGetClassForDesktop(IN OUT PWINDOWCLASS BaseClass,
- IN OUT PWINDOWCLASS *ClassLink,
+IntGetClassForDesktop(IN PWINDOWCLASS BaseClass,
IN PDESKTOP Desktop)
{
SIZE_T ClassSize;
@@ -381,8 +380,6 @@
if (BaseClass->Desktop == NULL)
{
- ASSERT(BaseClass->Windows == 0);
-
/* Classes are also located in the shared heap when the class
was created before the thread attached to a desktop. As soon
as a window is created for such a class located on the shared
@@ -427,22 +424,11 @@
/* update some pointers and link the class */
Class->Next = BaseClass->Clone;
Class->Clone = NULL;
+ Class->Base = BaseClass;
Class->Desktop = Desktop;
Class->Windows = 0;
-
- if (BaseClass->Desktop == NULL)
- {
- /* replace the base class */
- Class->Base = BaseClass;
- /* FIXME */
- }
- else
- {
- /* link in the clone */
- Class->Base = BaseClass;
- (void)InterlockedExchangePointer(&BaseClass->Clone,
- Class);
- }
+ (void)InterlockedExchangePointer(&BaseClass->Clone,
+ Class);
}
else
{
@@ -454,14 +440,12 @@
}
PWINDOWCLASS
-IntReferenceClass(IN OUT PWINDOWCLASS BaseClass,
- IN OUT PWINDOWCLASS *ClassLink,
+IntReferenceClass(IN PWINDOWCLASS BaseClass,
IN PDESKTOP Desktop)
{
PWINDOWCLASS Class;
Class = IntGetClassForDesktop(BaseClass,
- ClassLink,
Desktop);
if (Class != NULL)
{
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/window.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/window.c (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/window.c Wed Apr 5 14:46:00 2006
@@ -1394,7 +1394,7 @@
BOOL bUnicodeWindow)
{
PWINSTATION_OBJECT WinSta;
- PWINDOWCLASS *ClassLink, Class = NULL;
+ PWINDOWCLASS Class = NULL;
RTL_ATOM ClassAtom;
PWINDOW_OBJECT Window = NULL;
PWINDOW_OBJECT ParentWindow = NULL, OwnerWindow;
@@ -1475,7 +1475,7 @@
hInstance,
ti->kpi,
&Class,
- &ClassLink);
+ NULL);
if (ClassAtom == (RTL_ATOM)0)
{
@@ -1493,7 +1493,6 @@
}
Class = IntReferenceClass(Class,
- ClassLink,
ti->Desktop);
if (Class == NULL)
{