Safely close database connections and delete backends

Also fix NewClosure leak caused by disconnected object signals
This commit is contained in:
Jonas Kvinge
2019-07-24 19:16:51 +02:00
parent bd78e8c275
commit b5eb13449b
47 changed files with 490 additions and 53 deletions

View File

@@ -111,9 +111,14 @@ class Application : public QObject {
MoodbarLoader *moodbar_loader() const;
#endif
void MoveToNewThread(QObject *object);
void Exit();
QThread *MoveToNewThread(QObject *object);
void MoveToThread(QObject *object, QThread *thread);
private slots:
void ExitReceived();
public slots:
void AddError(const QString &message);
void ReloadSettings();
@@ -123,10 +128,12 @@ signals:
void ErrorAdded(const QString &message);
void SettingsChanged();
void SettingsDialogRequested(SettingsDialog::Page page);
void ExitFinished();
private:
std::unique_ptr<ApplicationImpl> p_;
QList<QThread*> threads_;
QList<QObject*> wait_for_exit_;
};