diff options
-rw-r--r-- | vcl/source/outdev/gradient.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/vcl/source/outdev/gradient.cxx b/vcl/source/outdev/gradient.cxx index aeace07e4710..2c6b884e6732 100644 --- a/vcl/source/outdev/gradient.cxx +++ b/vcl/source/outdev/gradient.cxx @@ -56,7 +56,7 @@ void OutputDevice::DrawGradient( const tools::PolyPolygon& rPolyPoly, if ( mbInitClipRegion ) InitClipRegion(); - if ( mbOutputClipped ) + if (mbOutputClipped && !mpMetaFile) return; if ( rPolyPoly.Count() && rPolyPoly[ 0 ].GetSize() ) @@ -110,6 +110,12 @@ void OutputDevice::DrawGradient( const tools::PolyPolygon& rPolyPoly, if( mbInitClipRegion ) InitClipRegion(); + if (mbOutputClipped) + { + Pop(); + return; + } + // try to draw gradient natively bDrawn = mpGraphics->DrawGradient( aClixPolyPoly, aGradient ); |