summaryrefslogtreecommitdiffstats
path: root/seriestreewidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-12-30 14:47:12 +0100
committerArno <am@disconnect.de>2010-12-30 14:47:12 +0100
commit3c508cad0032f46be56279f3a3ab5a7df9128bef (patch)
tree5752a0abf3f347dae52288522f39abbf9ea79058 /seriestreewidget.cpp
parent9fa92d359003485e21aa1a1d81545f63cf4d08da (diff)
downloadSheMov-3c508cad0032f46be56279f3a3ab5a7df9128bef.tar.gz
SheMov-3c508cad0032f46be56279f3a3ab5a7df9128bef.tar.bz2
SheMov-3c508cad0032f46be56279f3a3ab5a7df9128bef.zip
Fix qWarnings() at startup and shutdown
Fix unexpected NULL receiver on startup: Turns out this warning is issued when calling deleteLater on a NULL object. This happened in SheMov::createOpenWith*. The "database is still in use" warning was a bit harder to track down. First of all, the destructors weren't called since Qt::WA_DeleteOnClose wasn't set for SheMov, so Qt would simply exit and let the OS do the cleanup without calling the destructors. Then there were several orphan widgets/objects without a parent, so their destructor would never be called.
Diffstat (limited to 'seriestreewidget.cpp')
-rw-r--r--seriestreewidget.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp
index 19617a7..fa6ded5 100644
--- a/seriestreewidget.cpp
+++ b/seriestreewidget.cpp
@@ -92,6 +92,14 @@ SeriesTreeWidget::SeriesTreeWidget(QWidget *parent) : QWidget(parent){
connect(mCompleterProducer, SIGNAL(done(QStringListModel*)), this, SLOT(producerFinished(QStringListModel*)));
}
+SeriesTreeWidget::~SeriesTreeWidget(){
+ if(mCompleterProducerThread->isRunning()){
+ mCompleterProducerThread->terminate();
+ }
+ delete mCompleterProducerThread;
+ delete mCompleterProducer;
+}
+
void SeriesTreeWidget::newSeries(){
QList<QVariant> data;
data << tr("<New series>") << QVariant() << QVariant() << QVariant() << SeriesTreeModel::NewSeries;
@@ -535,6 +543,7 @@ CompleterProducer::~CompleterProducer(){
delete mQualityQuery;
delete mDvdNoQuery;
mDb.close();
+ mDb = QSqlDatabase();
}
void CompleterProducer::produce(){