- Make sure we process path for Rectangles and Polygons.

svn path=/trunk/; revision=37221
This commit is contained in:
James Tabor
2008-11-06 02:36:10 +00:00
parent 7eff87cf56
commit 24b6d30dcb
3 changed files with 11 additions and 7 deletions
@@ -506,20 +506,23 @@ IntRectangle(PDC dc,
Dc_Attr = dc->pDc_Attr;
if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr;
if ( PATH_IsPathOpen(dc->DcLevel) )
{
return PATH_Rectangle ( dc, LeftRect, TopRect, RightRect, BottomRect );
}
/* Do we rotate or shear? */
if (!(dc->DcLevel.mxWorldToDevice.flAccel & MX_SCALE))
{
POINTL DestCoords[4];
ULONG PolyCounts = 4;
DestCoords[0].x = DestCoords[3].x = LeftRect;
DestCoords[0].y = DestCoords[1].y = TopRect;
DestCoords[1].x = DestCoords[2].x = RightRect;
DestCoords[2].y = DestCoords[3].y = BottomRect;
return IntGdiPolygon(dc, DestCoords, 4);
// Use IntGdiPolyPolygon so to support PATH.
return IntGdiPolyPolygon(dc, DestCoords, &PolyCounts, 1);
}
// Rectangle Path only.
if ( PATH_IsPathOpen(dc->DcLevel) )
{
return PATH_Rectangle ( dc, LeftRect, TopRect, RightRect, BottomRect );
}
DestRect.left = LeftRect;
@@ -140,7 +140,7 @@ PATH_FillPath( PDC dc, PPATH pPath )
/* Restore the old mapping mode */
// IntGdiSetMapMode( dc, mapMode );
// Dc_Attr->szlViewportExt = ptViewportExt;
// Dc_Attr->ptlViewportOrg = ptViewportOrg;
// Dc_Attr->ptlViewportOrg = ptViewportOrg;
// Dc_Attr->szlWindowExt = ptWindowExt;
// Dc_Attr->ptlWindowOrg = ptWindowOrg;
@@ -2501,6 +2501,7 @@ NtGdiExtCreateRegion(
NTSTATUS Status = STATUS_SUCCESS;
MATRIX matrix;
DPRINT("NtGdiExtCreateRegion\n");
_SEH_TRY
{
ProbeForRead(RgnData, Count, 1);