diff options
| author | 2017-02-09 04:37:26 -0500 | |
|---|---|---|
| committer | 2017-02-09 04:37:26 -0500 | |
| commit | c9d6debf9015b7853c3e061bbc64a555d85e2fcd (patch) | |
| tree | 53341bc57ae9fbad2beb5b6c08d97a68bee0ec8e /Plugins/PdfExport/pdfexport.cpp | |
| parent | d5caba2b1f36dc3b92fa705a06097d0597fa2ddd (diff) | |
| parent | d9aa870e5d509cc7309ab82dd102a937ab58613a (diff) | |
Merge tag 'upstream/3.1.1+dfsg1'
Upstream version 3.1.1+dfsg1
# gpg: Signature made Thu 09 Feb 2017 04:37:24 AM EST
# gpg: using RSA key 5001E1B09AA3744B
# gpg: issuer "unit193@ubuntu.com"
# gpg: Good signature from "Unit 193 <unit193@ubuntu.com>" [unknown]
# gpg: aka "Unit 193 <unit193@gmail.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 8DB3 E586 865D 2B4A 2B18 5A5C 5001 E1B0 9AA3 744B
Diffstat (limited to 'Plugins/PdfExport/pdfexport.cpp')
| -rw-r--r-- | Plugins/PdfExport/pdfexport.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Plugins/PdfExport/pdfexport.cpp b/Plugins/PdfExport/pdfexport.cpp index 38389a1..f47f5a6 100644 --- a/Plugins/PdfExport/pdfexport.cpp +++ b/Plugins/PdfExport/pdfexport.cpp @@ -21,11 +21,12 @@ void PdfExport::deinit() safe_delete(textOption); } -QPagedPaintDevice* PdfExport::createPaintDevice(const QString& documentTitle) +QPagedPaintDevice* PdfExport::createPaintDevice(const QString& documentTitle, bool &takeOwnership) { QPdfWriter* pdfWriter = new QPdfWriter(output); pdfWriter->setTitle(documentTitle); pdfWriter->setCreator(tr("SQLiteStudio v%1").arg(SQLITESTUDIO->getVersionString())); + takeOwnership = true; return pdfWriter; } @@ -309,8 +310,11 @@ bool PdfExport::isBinaryData() const bool PdfExport::beginDoc(const QString& title) { safe_delete(painter); - safe_delete(pagedWriter); - pagedWriter = createPaintDevice(title); + + if (takeDeviceOwnership) + safe_delete(pagedWriter); + + pagedWriter = createPaintDevice(title, takeDeviceOwnership); if (!pagedWriter) return false; @@ -330,7 +334,8 @@ void PdfExport::endDoc() void PdfExport::cleanupAfterExport() { safe_delete(painter); - safe_delete(pagedWriter); + if (takeDeviceOwnership) + safe_delete(pagedWriter); } void PdfExport::setupConfig() |
