| commit | 4dd87ccdab80eb094cede538e3d742148df3880a | [log] |
|---|---|---|
| author | Jan-Marek Glogowski <jan-marek.glogowski@extern.cib.de> | Wed Nov 13 03:45:38 2019 +0100 |
| committer | Jan-Marek Glogowski <glogow@fbihome.de> | Thu Nov 14 11:11:12 2019 +0100 |
| tree | a980f492d9c3467b3af7acbd730cf178601ac70c | |
| parent | 96b1934c03b6c06aa5d28c35cc1a55879d475b6d [diff] |
tdf#128434 really free the VclPtr<PDFWriterImpl> This fixes the major reference cycle introduced by my commit b85ff98383942360901b8242cf77366782400426 ("Change PDFWriterImpl into an OutputDevice"), and adds the missing disposeAndClear() call. Maybe it would be better to add a ScopedVclPtr in the PDFWriter class and revert all the other VclPtr<PDFWriterImpl> users back to the original PDFWriterImpl*. The PDFWriter code really doesn't need any of the special VclPtr handling. Change-Id: Ia64fb207ad274d9323e350022f6b8af35c44e9f5 Reviewed-on: https://gerrit.libreoffice.org/82562 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
diff --git a/vcl/source/gdi/pdfwriter.cxx b/vcl/source/gdi/pdfwriter.cxx index 4e5a3c1..9a41891 100644 --- a/vcl/source/gdi/pdfwriter.cxx +++ b/vcl/source/gdi/pdfwriter.cxx
@@ -34,6 +34,7 @@ PDFWriter::PDFWriter( const PDFWriter::PDFWriterContext& rContext, const css::un PDFWriter::~PDFWriter() { xImplementation.disposeAndClear(); } OutputDevice* PDFWriter::GetReferenceDevice()
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index a63a2152e..83d5c75 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -1418,6 +1418,7 @@ void PDFWriterImpl::dispose() { if( m_aCipher ) rtl_cipher_destroyARCFOUR( m_aCipher ); m_aPages.clear(); VirtualDevice::dispose(); }