aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/Printing/printing.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/Printing/printing.cpp
parent68ee4cbcbe424b95969c70346283a9f217f63825 (diff)
Imported Upstream version 3.1.1+dfsg1upstream/3.1.1+dfsg1
Diffstat (limited to 'Plugins/Printing/printing.cpp')
-rw-r--r--Plugins/Printing/printing.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/Plugins/Printing/printing.cpp b/Plugins/Printing/printing.cpp
index 3591d4b..c24fc89 100644
--- a/Plugins/Printing/printing.cpp
+++ b/Plugins/Printing/printing.cpp
@@ -57,7 +57,6 @@ void Printing::deinit()
safe_delete(printDataAction);
safe_delete(separatorAction);
safe_delete(printQueryAction);
- safe_delete(printDialog);
Q_CLEANUP_RESOURCE(printing);
}
@@ -76,8 +75,7 @@ void Printing::dataPrintRequested(ExtActionContainer* actionContainer)
return;
}
- safe_delete(printDialog);
- printDialog = new QPrintDialog(MAINWINDOW);
+ QPrintDialog* printDialog = new QPrintDialog(MAINWINDOW);
if (printDialog->exec() != QDialog::Accepted)
return;
@@ -90,6 +88,7 @@ void Printing::dataPrintRequested(ExtActionContainer* actionContainer)
ExportWorker* worker = new ExportWorker(printingExport, printingConfig, nullptr);
worker->prepareExportQueryResults(db, query);
+ connect(worker, SIGNAL(finished(bool,QIODevice*)), printDialog, SLOT(deleteLater()));
QThreadPool::globalInstance()->start(worker);
}
@@ -102,8 +101,7 @@ void Printing::queryPrintRequested(ExtActionContainer* actionContainer)
return;
}
- safe_delete(printDialog);
- printDialog = new QPrintDialog(MAINWINDOW);
+ QPrintDialog* printDialog = new QPrintDialog(MAINWINDOW);
if (printDialog->exec() != QDialog::Accepted)
return;
@@ -111,4 +109,5 @@ void Printing::queryPrintRequested(ExtActionContainer* actionContainer)
QTextDocument* doc = editor->getEditor()->document();
doc->print(printDialog->printer());
+ printDialog->deleteLater();
}