(GDIOBJ_SetOwnership): Don't try to decrease the GDI object counter for global handles since they're not associated with process.
Modified: trunk/reactos/subsys/win32k/objects/gdiobj.c

Modified: trunk/reactos/subsys/win32k/objects/gdiobj.c
--- trunk/reactos/subsys/win32k/objects/gdiobj.c	2005-03-17 20:15:44 UTC (rev 14165)
+++ trunk/reactos/subsys/win32k/objects/gdiobj.c	2005-03-17 22:00:19 UTC (rev 14166)
@@ -1216,15 +1216,18 @@
 
           /* dereference the process' object counter */
           /* FIXME */
-          Status = PsLookupProcessByProcessId((HANDLE)((ULONG_PTR)PrevProcId & ~0x1), &OldProcess);
-          if(NT_SUCCESS(Status))
+          if((ULONG_PTR)PrevProcId & ~0x1)
           {
-            W32Process = OldProcess->Win32Process;
-            if(W32Process != NULL)
+            Status = PsLookupProcessByProcessId((HANDLE)((ULONG_PTR)PrevProcId & ~0x1), &OldProcess);
+            if(NT_SUCCESS(Status))
             {
-              InterlockedDecrement(&W32Process->GDIObjects);
+              W32Process = OldProcess->Win32Process;
+              if(W32Process != NULL)
+              {
+                InterlockedDecrement(&W32Process->GDIObjects);
+              }
+              ObDereferenceObject(OldProcess);
             }
-            ObDereferenceObject(OldProcess);
           }
 
           if(NewOwner != NULL)