Author: jimtabor
Date: Wed Nov 5 20:36:10 2008
New Revision: 37221
URL:
http://svn.reactos.org/svn/reactos?rev=37221&view=rev
Log:
- Make sure we process path for Rectangles and Polygons.
Modified:
trunk/reactos/subsystems/win32/win32k/objects/fillshap.c
trunk/reactos/subsystems/win32/win32k/objects/path.c
trunk/reactos/subsystems/win32/win32k/objects/region.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/fillshap.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/fillshap.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/fillshap.c [iso-8859-1] Wed Nov 5
20:36:10 2008
@@ -506,20 +506,23 @@
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;
Modified: trunk/reactos/subsystems/win32/win32k/objects/path.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/path.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/path.c [iso-8859-1] Wed Nov 5 20:36:10
2008
@@ -140,7 +140,7 @@
/* 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;
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 [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/region.c [iso-8859-1] Wed Nov 5
20:36:10 2008
@@ -2501,6 +2501,7 @@
NTSTATUS Status = STATUS_SUCCESS;
MATRIX matrix;
+ DPRINT("NtGdiExtCreateRegion\n");
_SEH_TRY
{
ProbeForRead(RgnData, Count, 1);