diff options
Diffstat (limited to 'xfa/fxbarcode/BC_TwoDimWriter.cpp')
-rw-r--r-- | xfa/fxbarcode/BC_TwoDimWriter.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/xfa/fxbarcode/BC_TwoDimWriter.cpp b/xfa/fxbarcode/BC_TwoDimWriter.cpp index 9c9427aaa5..328352c6c1 100644 --- a/xfa/fxbarcode/BC_TwoDimWriter.cpp +++ b/xfa/fxbarcode/BC_TwoDimWriter.cpp @@ -57,9 +57,8 @@ int32_t CBC_TwoDimWriter::GetErrorCorrectionLevel() const { return m_iCorrectLevel; } -void CBC_TwoDimWriter::RenderBitmapResult( - CFX_RetainPtr<CFX_DIBitmap>& pOutBitmap, - int32_t& e) { +void CBC_TwoDimWriter::RenderBitmapResult(CFX_DIBitmap*& pOutBitmap, + int32_t& e) { if (m_bFixedSize) { pOutBitmap = CreateDIBitmap(m_Width, m_Height); } else { @@ -83,8 +82,12 @@ void CBC_TwoDimWriter::RenderBitmapResult( } } } - if (!m_bFixedSize) - pOutBitmap = pOutBitmap->StretchTo(m_Width, m_Height); + if (!m_bFixedSize) { + std::unique_ptr<CFX_DIBitmap> pStretchBitmap = + pOutBitmap->StretchTo(m_Width, m_Height); + delete pOutBitmap; + pOutBitmap = pStretchBitmap.release(); + } } void CBC_TwoDimWriter::RenderResult(uint8_t* code, |