From 948597b55990da44c8d58851f63450ed11d4f7ca Mon Sep 17 00:00:00 2001 From: Vasily Melenchuk Date: Thu, 25 May 2017 13:44:52 +0300 Subject: tdf#99680 modified clipping for PDF export If clipping is requested, but no clipping region is defined, clipping is ignored. This squashes the following 3 commits: Reviewed-on: https://gerrit.libreoffice.org/38021 Tested-by: Jenkins Reviewed-by: Thorsten Behrens Reviewed-on: https://gerrit.libreoffice.org/38403 Tested-by: Jenkins Reviewed-by: Miklos Vajna Reviewed-on: https://gerrit.libreoffice.org/38694 Tested-by: Jenkins Reviewed-by: Thorsten Behrens Reviewed-on: https://gerrit.libreoffice.org/38825 Tested-by: Thorsten Behrens (cherry picked from commit f6726209329fefe9decca8fda8e136b8472a95a2) Conflicts: vcl/qa/cppunit/pdfexport/pdfexport.cxx no pdf unit tests on -5-3, so dropping those pieces Change-Id: I793c1de1f4f6b0203727c0ff6aa8adecc43ad413 d4565858b0135b3177044558db87a68ef828955b 102722140e216cb9ad29107aae3bdaa70472d471 --- vcl/source/gdi/pdfwriter_impl.cxx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 28fb58db826f..e0942f91a1ea 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -12378,12 +12378,13 @@ void PDFWriterImpl::updateGraphicsState(Mode const mode) getReferenceDevice()->SetMapMode( rNewState.m_aMapMode ); m_aCurrentPDFState.m_aMapMode = rNewState.m_aMapMode; - aLine.append( "q " ); - if( rNewState.m_aClipRegion.count() ) + aLine.append("q "); + if ( rNewState.m_aClipRegion.count() ) + { m_aPages.back().appendPolyPolygon( rNewState.m_aClipRegion, aLine ); - else - aLine.append( "0 0 m h " ); // NULL clip, i.e. nothing visible - aLine.append( "W* n\n" ); + aLine.append( "W* n\n" ); + } + rNewState.m_aMapMode = aNewMapMode; getReferenceDevice()->SetMapMode( rNewState.m_aMapMode ); m_aCurrentPDFState.m_aMapMode = rNewState.m_aMapMode; -- cgit v1.2.3