Commit in reactos/subsys/win32k/objects on MAIN
cliprgn.c+8-31.42 -> 1.43
dc.c+13-41.147 -> 1.148
+21-7
2 modified files
removed an ASSERT that occured when system ran out of GDI handles, and added more correct error handling for the condition

reactos/subsys/win32k/objects
cliprgn.c 1.42 -> 1.43
diff -u -r1.42 -r1.43
--- cliprgn.c	14 Jul 2004 20:48:58 -0000	1.42
+++ cliprgn.c	7 Dec 2004 19:53:44 -0000	1.43
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: cliprgn.c,v 1.42 2004/07/14 20:48:58 navaraf Exp $ */
+/* $Id: cliprgn.c,v 1.43 2004/12/07 19:53:44 royce Exp $ */
 #include <w32k.h>
 
 int FASTCALL
@@ -43,9 +43,13 @@
       CombinedRegion->rdh.nCount,
       (PRECTL)CombinedRegion->Buffer,
       (PRECTL)&CombinedRegion->rdh.rcBound);
-   ASSERT(Dc->CombinedClip != NULL);
 
    RGNDATA_UnlockRgn(Dc->w.hGCClipRgn);
+   if ( NULL == Dc->CombinedClip )
+   {
+	   DPRINT1("IntEngCreateClipRegion() failed\n");
+	   return ERROR;
+   }
    return NtGdiOffsetRgn(Dc->w.hGCClipRgn, -Dc->w.DCOrgX, -Dc->w.DCOrgY);
 }
 
@@ -99,7 +103,8 @@
     }
 
   retval = NtGdiCombineRgn(dc->w.hVisRgn, hrgn, 0, RGN_COPY);
-  CLIPPING_UpdateGCRegion(dc);
+  if ( retval != ERROR )
+    retval = CLIPPING_UpdateGCRegion(dc);
   DC_UnlockDc( hdc );
 
   return retval;

reactos/subsys/win32k/objects
dc.c 1.147 -> 1.148
diff -u -r1.147 -r1.148
--- dc.c	16 Nov 2004 16:27:49 -0000	1.147
+++ dc.c	7 Dec 2004 19:53:44 -0000	1.148
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: dc.c,v 1.147 2004/11/16 16:27:49 blight Exp $
+/* $Id: dc.c,v 1.148 2004/12/07 19:53:44 royce Exp $
  *
  * DC.C - Device context functions
  *
@@ -1223,7 +1223,11 @@
 
 	  dc->w.hClipRgn = 0;
 	}
-	CLIPPING_UpdateGCRegion( dc );
+	{
+		int res;
+		res = CLIPPING_UpdateGCRegion( dc );
+		ASSERT ( res != ERROR );
+	}
 	DC_UnlockDc ( hDC );
 #else
 	DC_UnlockDc ( hDC );
@@ -2022,8 +2026,13 @@
   NtGdiSelectObject(DCHandle, NtGdiGetStockObject( BLACK_PEN ));
   //NtGdiSelectObject(DCHandle, hFont);
 
-//  CLIPPING_UpdateGCRegion(DCToInit);
-
+/*
+  {
+    int res;
+    res = CLIPPING_UpdateGCRegion(DCToInit);
+    ASSERT ( res != ERROR );
+  }
+*/
 }
 
 VOID FASTCALL
CVSspam 0.2.8