summaryrefslogtreecommitdiffstats
path: root/vcl/source/gdi/pdfwriter_impl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/gdi/pdfwriter_impl.cxx')
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx15
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: */