aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/PdfExport/pdfexport.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2017-02-09 04:37:26 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2017-02-09 04:37:26 -0500
commitc9d6debf9015b7853c3e061bbc64a555d85e2fcd (patch)
tree53341bc57ae9fbad2beb5b6c08d97a68bee0ec8e /Plugins/PdfExport/pdfexport.cpp
parentd5caba2b1f36dc3b92fa705a06097d0597fa2ddd (diff)
parentd9aa870e5d509cc7309ab82dd102a937ab58613a (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.cpp13
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()