[ros-diffs] [greatlrd] 28485: Kill reactos own syscall api NtGdiCreatePolygonRgn, it have been redirect to another ros own syscall named NtGdiCreatePolyPolygonRgn. see my last commit for gdi32

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Thu Aug 23 21:33:22 CEST 2007


Author: greatlrd
Date: Thu Aug 23 23:33:21 2007
New Revision: 28485

URL: http://svn.reactos.org/svn/reactos?rev=28485&view=rev
Log:
Kill reactos own syscall api NtGdiCreatePolygonRgn, it have been redirect to another ros own syscall named NtGdiCreatePolyPolygonRgn. see my last commit for gdi32 

Modified:
    trunk/reactos/subsystems/win32/win32k/objects/region.c
    trunk/reactos/subsystems/win32/win32k/w32ksvc.db

Modified: trunk/reactos/subsystems/win32/win32k/objects/region.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/region.c?rev=28485&r1=28484&r2=28485&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/region.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/region.c Thu Aug 23 23:33:21 2007
@@ -3421,100 +3421,6 @@
     return hrgn;
 }
 
-HRGN
-STDCALL
-NtGdiCreatePolygonRgn(CONST PPOINT  pt,
-                      INT  Count,
-                      INT  PolyFillMode)
-{
-   POINT *SafePoints;
-   NTSTATUS Status = STATUS_SUCCESS;
-   HRGN hRgn;
-
-
-   if (pt == NULL || Count == 0 ||
-       (PolyFillMode != WINDING && PolyFillMode != ALTERNATE))
-   {
-      /* Windows doesn't set a last error here */
-      return (HRGN)0;
-   }
-
-   if (Count == 1)
-   {
-      /* can't create a region with only one point! */
-      SetLastWin32Error(ERROR_INVALID_PARAMETER);
-      return (HRGN)0;
-   }
-
-   if (Count == 2)
-   {
-      /* Windows creates an empty region! */
-      ROSRGNDATA *rgn;
-
-      if(!(hRgn = RGNDATA_AllocRgn(1)))
-      {
-	 return (HRGN)0;
-      }
-      if(!(rgn = RGNDATA_LockRgn(hRgn)))
-      {
-        NtGdiDeleteObject(hRgn);
-	return (HRGN)0;
-      }
-
-      EMPTY_REGION(rgn);
-
-      RGNDATA_UnlockRgn(rgn);
-      return hRgn;
-   }
-   
-   _SEH_TRY
-   {
-      ProbeForRead(pt,
-                   Count * sizeof(POINT),
-                   1);
-   }
-   _SEH_HANDLE
-   {
-      Status = _SEH_GetExceptionCode();
-   }
-   _SEH_END;
-   
-   if (!NT_SUCCESS(Status))
-   {
-      SetLastNtError(Status);
-      return (HRGN)0;
-   }
-
-   if (!(SafePoints = ExAllocatePoolWithTag(PagedPool, Count * sizeof(POINT), TAG_REGION)))
-   {
-      SetLastWin32Error(ERROR_NOT_ENOUGH_MEMORY);
-      return (HRGN)0;
-   }
-
-   _SEH_TRY
-   {
-      /* pointers were already probed! */
-      RtlCopyMemory(SafePoints,
-                    pt,
-                    Count * sizeof(POINT));
-   }
-   _SEH_HANDLE
-   {
-      Status = _SEH_GetExceptionCode();
-   }
-   _SEH_END;
-   if (!NT_SUCCESS(Status))
-   {
-      ExFreePool(SafePoints);
-      SetLastNtError(Status);
-      return (HRGN)0;
-   }
-
-   hRgn = IntCreatePolyPolgonRgn(SafePoints, &Count, 1, PolyFillMode);
-
-   ExFreePool(SafePoints);
-   return hRgn;
-}
 
 HRGN
 STDCALL

Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w32ksvc.db?rev=28485&r1=28484&r2=28485&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original)
+++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Thu Aug 23 23:33:21 2007
@@ -752,7 +752,6 @@
 NtGdiCopyEnhMetaFile                    2
 NtGdiCreateDIBitmap                     6
 NtGdiCreateEnhMetaFile                  4
-NtGdiCreatePolygonRgn                   3
 NtGdiCreatePolyPolygonRgn               4
 NtGdiCreateScalableFontResource         4
 NtGdiDeleteEnhMetaFile                  1




More information about the Ros-diffs mailing list