Workaround for bug 899
Modified: trunk/reactos/subsys/win32k/ntuser/class.c

Modified: trunk/reactos/subsys/win32k/ntuser/class.c
--- trunk/reactos/subsys/win32k/ntuser/class.c	2005-10-12 13:00:34 UTC (rev 18410)
+++ trunk/reactos/subsys/win32k/ntuser/class.c	2005-10-12 14:07:49 UTC (rev 18411)
@@ -68,12 +68,21 @@
 VOID FASTCALL DestroyClass(PWNDCLASS_OBJECT Class)
 {
    PWINSTATION_OBJECT WinSta;
-   WinSta = PsGetWin32Thread()->Desktop->WindowStation;
    
    ASSERT(Class->refs == 0);
    RemoveEntryList(&Class->ListEntry);
-   //FIXME: release ATOM
-   RtlDeleteAtomFromAtomTable(WinSta->AtomTable, Class->Atom);
+
+   /* FIXME See bug 899 */
+   if (NULL != PsGetWin32Thread())
+   {
+      WinSta = PsGetWin32Thread()->Desktop->WindowStation;
+      //FIXME: release ATOM
+      RtlDeleteAtomFromAtomTable(WinSta->AtomTable, Class->Atom);
+   }
+   else
+   {
+      DPRINT1("Can't locate window station, see bug 899\n");
+   }
    ExFreePool(Class);
 }