aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/PdfExport/pdfexport.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2017-02-09 04:36:04 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2017-02-09 04:36:04 -0500
commitd9aa870e5d509cc7309ab82dd102a937ab58613a (patch)
treed92d03d76b5c390b335f1cfd761f1a0b59ec8496 /Plugins/PdfExport/pdfexport.cpp
parent68ee4cbcbe424b95969c70346283a9f217f63825 (diff)
Imported Upstream version 3.1.1+dfsg1upstream/3.1.1+dfsg1
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()