From 707efee607b3f30ff6e4baaee6a09ac8d216cbba Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Mon, 20 Aug 2012 12:54:37 +0200 Subject: fill whole polypolygon at once, so that fill rule is applied correctly - fixes rest of n#759172 Change-Id: I6c2694bf8276337b7d1fa54a12867bfc2b658a23 --- canvas/source/cairo/cairo_canvashelper.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx index 924e6f8eb4c4..1b058b519903 100644 --- a/canvas/source/cairo/cairo_canvashelper.cxx +++ b/canvas/source/cairo/cairo_canvashelper.cxx @@ -1044,13 +1044,6 @@ namespace cairocanvas if( aPolygon.isClosed() ) cairo_close_path( pCairo ); - - if( aOperation == Fill && pTextures ) - { - cairo_set_matrix( pCairo, &aOrigMatrix ); - doOperation( aOperation, pCairo, pTextures, pDevice, aPolyPolygon.getB2DRange() ); - cairo_set_matrix( pCairo, &aIdentityMatrix ); - } } else { @@ -1063,6 +1056,13 @@ namespace cairocanvas } } } + + if( aOperation == Fill && pTextures ) + { + cairo_set_matrix( pCairo, &aOrigMatrix ); + doOperation( aOperation, pCairo, pTextures, pDevice, aPolyPolygon.getB2DRange() ); + cairo_set_matrix( pCairo, &aIdentityMatrix ); + } if( bOpToDo && ( aOperation != Fill || !pTextures ) ) doOperation( aOperation, pCairo, pTextures, pDevice, aPolyPolygon.getB2DRange() ); -- cgit v1.2.1