From 3c508cad0032f46be56279f3a3ab5a7df9128bef Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 30 Dec 2010 14:47:12 +0100 Subject: 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. --- seriestreewidget.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'seriestreewidget.cpp') 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 data; data << tr("") << QVariant() << QVariant() << QVariant() << SeriesTreeModel::NewSeries; @@ -535,6 +543,7 @@ CompleterProducer::~CompleterProducer(){ delete mQualityQuery; delete mDvdNoQuery; mDb.close(); + mDb = QSqlDatabase(); } void CompleterProducer::produce(){ -- cgit v1.2.3-70-g09d2