diff --git a/graphics/psdrv/graphics.c b/graphics/psdrv/graphics.c index 318800d3bc5..a819dc198d4 100644 --- a/graphics/psdrv/graphics.c +++ b/graphics/psdrv/graphics.c @@ -152,6 +152,9 @@ static BOOL PSDRV_DrawArc( DC *dc, INT left, INT top, if(lines == 2) /* pie */ PSDRV_WriteMoveTo(dc, x, y); + else + PSDRV_WriteNewPath( dc ); + PSDRV_WriteArc(dc, x, y, w, h, start_angle, end_angle); if(lines == 1 || lines == 2) { /* chord or pie */ PSDRV_WriteClosePath(dc); diff --git a/graphics/psdrv/ps.c b/graphics/psdrv/ps.c index 892a51acec4..f7e5aab22ec 100644 --- a/graphics/psdrv/ps.c +++ b/graphics/psdrv/ps.c @@ -511,10 +511,6 @@ BOOL PSDRV_WriteArc(DC *dc, INT x, INT y, INT w, INT h, double ang1, /* Make angles -ve and swap order because we're working with an upside down y-axis */ sprintf(buf, psarc, x, y, w, h, -ang2, -ang1); - - /* Write newpath operator to ensure there's no line segment drawn - from the current point to the beginning of the arc. */ - PSDRV_WriteNewPath( dc ); return PSDRV_WriteSpool(dc, buf, strlen(buf)); }