Use deleteLater() for Subsonic, Tidal and QObuz requests
This commit is contained in:
@@ -19,8 +19,6 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include <QObject>
|
||||
#include <QDir>
|
||||
#include <QMimeType>
|
||||
@@ -63,7 +61,7 @@ SubsonicRequest::SubsonicRequest(SubsonicService *service, SubsonicUrlHandler *u
|
||||
service_(service),
|
||||
url_handler_(url_handler),
|
||||
app_(app),
|
||||
network_(new QNetworkAccessManager),
|
||||
network_(new QNetworkAccessManager(this)),
|
||||
timeouts_(new NetworkTimeouts(30000, this)),
|
||||
finished_(false),
|
||||
albums_requests_active_(0),
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <QObject>
|
||||
#include <QPair>
|
||||
@@ -37,12 +35,12 @@
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QUrl>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QJsonObject>
|
||||
|
||||
#include "core/song.h"
|
||||
#include "subsonicbaserequest.h"
|
||||
|
||||
class QNetworkAccessManager;
|
||||
class QNetworkReply;
|
||||
class Application;
|
||||
class SubsonicService;
|
||||
@@ -120,7 +118,7 @@ class SubsonicRequest : public SubsonicBaseRequest {
|
||||
SubsonicService *service_;
|
||||
SubsonicUrlHandler *url_handler_;
|
||||
Application *app_;
|
||||
std::unique_ptr<QNetworkAccessManager> network_;
|
||||
QNetworkAccessManager *network_;
|
||||
NetworkTimeouts *timeouts_;
|
||||
|
||||
bool finished_;
|
||||
|
||||
@@ -399,7 +399,7 @@ void SubsonicService::Scrobble(const QString &song_id, const bool submission, co
|
||||
|
||||
if (!scrobble_request_) {
|
||||
// We're doing requests every 30-240s the whole time, so keep reusing this instance
|
||||
scrobble_request_ = std::make_shared<SubsonicScrobbleRequest>(this, url_handler_, app_);
|
||||
scrobble_request_.reset(new SubsonicScrobbleRequest(this, url_handler_, app_), [](SubsonicScrobbleRequest *request) { request->deleteLater(); });
|
||||
}
|
||||
|
||||
scrobble_request_->CreateScrobbleRequest(song_id, submission, time);
|
||||
@@ -429,7 +429,7 @@ void SubsonicService::GetSongs() {
|
||||
}
|
||||
|
||||
ResetSongsRequest();
|
||||
songs_request_ = std::make_shared<SubsonicRequest>(this, url_handler_, app_);
|
||||
songs_request_.reset(new SubsonicRequest(this, url_handler_, app_), [](SubsonicRequest *request) { request->deleteLater(); });
|
||||
QObject::connect(songs_request_.get(), &SubsonicRequest::Results, this, &SubsonicService::SongsResultsReceived);
|
||||
QObject::connect(songs_request_.get(), &SubsonicRequest::UpdateStatus, this, &SubsonicService::SongsUpdateStatus);
|
||||
QObject::connect(songs_request_.get(), &SubsonicRequest::ProgressSetMaximum, this, &SubsonicService::SongsProgressSetMaximum);
|
||||
@@ -449,6 +449,8 @@ void SubsonicService::SongsResultsReceived(const SongMap &songs, const QString &
|
||||
|
||||
emit SongsResults(songs, error);
|
||||
|
||||
ResetSongsRequest();
|
||||
|
||||
}
|
||||
|
||||
void SubsonicService::PingError(const QString &error, const QVariant &debug) {
|
||||
|
||||
Reference in New Issue
Block a user