Kill reactos own syscall api NtGdiCreatePolygonRgn, it have been redirect to another ros own syscall named NtGdiCreatePolyPolygonRgn. see my last commit for gdi32

svn path=/trunk/; revision=28485
This commit is contained in:
Magnus Olsen 2007-08-23 19:33:21 +00:00
parent 75fff0653f
commit 6b5a7d3908
2 changed files with 0 additions and 95 deletions

View file

@ -3421,100 +3421,6 @@ IntCreatePolyPolgonRgn(POINT *Pts,
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

View file

@ -752,7 +752,6 @@ NtGdiColorMatchToTarget 3
NtGdiCopyEnhMetaFile 2
NtGdiCreateDIBitmap 6
NtGdiCreateEnhMetaFile 4
NtGdiCreatePolygonRgn 3
NtGdiCreatePolyPolygonRgn 4
NtGdiCreateScalableFontResource 4
NtGdiDeleteEnhMetaFile 1