diff options
Diffstat (limited to 'vcl/source/gdi/pdfwriter_impl.cxx')
-rw-r--r-- | vcl/source/gdi/pdfwriter_impl.cxx | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index d1987dc3544e..e79752a46c1e 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -2322,8 +2322,7 @@ void PDFWriterImpl::endPage() if( jpeg->m_pStream ) { writeJPG( *jpeg ); - delete jpeg->m_pStream; - jpeg->m_pStream = nullptr; + jpeg->m_pStream.reset(); jpeg->m_aMask = Bitmap(); } } @@ -11223,11 +11222,11 @@ void PDFWriterImpl::drawJPGBitmap( SvStream& rDCTData, bool bIsTrueColor, const ; if( it == m_aJPGs.end() ) { - m_aJPGs.push_front( JPGEmit() ); + m_aJPGs.emplace( m_aJPGs.begin() ); JPGEmit& rEmit = m_aJPGs.front(); rEmit.m_nObject = createObject(); rEmit.m_aID = aID; - rEmit.m_pStream = pStream; + rEmit.m_pStream.reset( pStream ); rEmit.m_bTrueColor = bIsTrueColor; if( !! rMask && rMask.GetSizePixel() == rSizePixel ) rEmit.m_aMask = rMask; @@ -13188,4 +13187,12 @@ void PDFWriterImpl::MARK( const char* pString ) emitComment( pString ); } +PDFWriterImpl::JPGEmit::JPGEmit(PDFWriterImpl::JPGEmit&& rOther) +{ + m_aID = rOther.m_aID; + m_pStream = std::move(rOther.m_pStream); + m_aMask = std::move(rOther.m_aMask); + m_nObject = rOther.m_nObject; + m_bTrueColor = rOther.m_bTrueColor; +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |