diff options
Diffstat (limited to 'vcl/source/gdi/pdfextoutdevdata.cxx')
-rw-r--r-- | vcl/source/gdi/pdfextoutdevdata.cxx | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/vcl/source/gdi/pdfextoutdevdata.cxx b/vcl/source/gdi/pdfextoutdevdata.cxx index 488278a81739..8c7590bff04d 100644 --- a/vcl/source/gdi/pdfextoutdevdata.cxx +++ b/vcl/source/gdi/pdfextoutdevdata.cxx @@ -409,15 +409,22 @@ bool PageSyncData::PlaySyncPageAct( PDFWriter& rWriter, sal_uInt32& rCurGDIMtfAc else if ( aBeg->eAct == PDFExtOutDevDataSync::EndGroupGfxLink ) { Graphic& rGraphic = mGraphics.front(); - if ( rGraphic.IsLink() && - rGraphic.GetLink().GetType() == GFX_LINK_TYPE_NATIVE_JPG && - mParaRects.size() >= 2 ) + if ( rGraphic.IsLink() ) { - mbGroupIgnoreGDIMtfActions = - rOutDevData.HasAdequateCompression( - rGraphic, mParaRects[0], mParaRects[1]); - if ( !mbGroupIgnoreGDIMtfActions ) + GfxLinkType eType = rGraphic.GetLink().GetType(); + if ( eType == GFX_LINK_TYPE_NATIVE_JPG && + mParaRects.size() >= 2 ) + { + mbGroupIgnoreGDIMtfActions = + rOutDevData.HasAdequateCompression( + rGraphic, mParaRects[0], mParaRects[1]); + if ( !mbGroupIgnoreGDIMtfActions ) + mCurrentGraphic = rGraphic; + } + else if ( eType == GFX_LINK_TYPE_NATIVE_PNG ) + { mCurrentGraphic = rGraphic; + } } break; } @@ -472,10 +479,7 @@ bool PageSyncData::PlaySyncPageAct( PDFWriter& rWriter, sal_uInt32& rCurGDIMtfAc } mbGroupIgnoreGDIMtfActions = false; } - else - { - mCurrentGraphic.Clear(); - } + mCurrentGraphic.Clear(); } break; case PDFExtOutDevDataSync::CreateNamedDest: |