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/ob…
==============================================================================
--- 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/w3…
==============================================================================
--- 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