[ros-diffs] [navaraf] 14166: (GDIOBJ_SetOwnership): Don't try to decrease the GDI object counter for global handles since they're not associated with process.

navaraf at svn.reactos.com navaraf at svn.reactos.com
Thu Mar 17 23:00:22 CET 2005


(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)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050317/33636ee8/attachment.html


More information about the Ros-diffs mailing list