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

@@ -54,7 +54,7 @@ QobuzStreamURLRequest::QobuzStreamURLRequest(QobuzService *service, NetworkAcces
QobuzStreamURLRequest::~QobuzStreamURLRequest() {
if (reply_) {
disconnect(reply_, 0, nullptr, 0);
disconnect(reply_, 0, this, 0);
if (reply_->isRunning()) reply_->abort();
reply_->deleteLater();
}
@@ -107,7 +107,7 @@ void QobuzStreamURLRequest::GetStreamURL() {
++tries_;
if (reply_) {
disconnect(reply_, 0, nullptr, 0);
disconnect(reply_, 0, this, 0);
if (reply_->isRunning()) reply_->abort();
reply_->deleteLater();
}
@@ -147,7 +147,7 @@ void QobuzStreamURLRequest::GetStreamURL() {
void QobuzStreamURLRequest::StreamURLReceived() {
if (!reply_) return;
disconnect(reply_, 0, nullptr, 0);
disconnect(reply_, 0, this, 0);
reply_->deleteLater();
QByteArray data = GetReplyData(reply_);