diff --git a/graphics/psdrv/graphics.c b/graphics/psdrv/graphics.c index 318800d3bc557c7590079a2705ab41a662759fca..a819dc198d482bf5f57a3ffa7552614f596c8586 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 892a51acec43b72e5864f8f7c187b4b4398031d1..f7e5aab22ecc5a1199882524a55febce2df012c7 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)); }