Merge pull request #6485 from jbroadus/fix-gpodder-error-leak
Fix gpodder sync memory leaks in success cases.
This commit is contained in:
commit
f9d4cd9f0d
|
@ -157,14 +157,17 @@ void GPodderSync::GetUpdatesNow() {
|
||||||
api_->deviceUpdates(username_, DeviceId(), timestamp));
|
api_->deviceUpdates(username_, DeviceId(), timestamp));
|
||||||
NewClosure(reply, SIGNAL(finished()), this,
|
NewClosure(reply, SIGNAL(finished()), this,
|
||||||
SLOT(DeviceUpdatesFinished(mygpo::DeviceUpdatesPtr)), reply);
|
SLOT(DeviceUpdatesFinished(mygpo::DeviceUpdatesPtr)), reply);
|
||||||
NewClosure(reply, SIGNAL(parseError()), this,
|
connect(reply.data(), SIGNAL(parseError()), SLOT(DeviceUpdatesParseError()));
|
||||||
SLOT(DeviceUpdatesFailed(mygpo::DeviceUpdatesPtr)), reply);
|
connect(reply.data(), SIGNAL(requestError(QNetworkReply::NetworkError)),
|
||||||
NewClosure(reply, SIGNAL(requestError(QNetworkReply::NetworkError)), this,
|
SLOT(DeviceUpdatesRequestError(QNetworkReply::NetworkError)));
|
||||||
SLOT(DeviceUpdatesFailed(mygpo::DeviceUpdatesPtr)), reply);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPodderSync::DeviceUpdatesFailed(mygpo::DeviceUpdatesPtr reply) {
|
void GPodderSync::DeviceUpdatesParseError() {
|
||||||
qLog(Warning) << "Failed to get gpodder.net device updates";
|
qLog(Warning) << "Failed to get gpodder device updates: parse error";
|
||||||
|
}
|
||||||
|
|
||||||
|
void GPodderSync::DeviceUpdatesRequestError(QNetworkReply::NetworkError error) {
|
||||||
|
qLog(Warning) << "Failed to get gpodder device updates:" << error;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPodderSync::DeviceUpdatesFinished(mygpo::DeviceUpdatesPtr reply) {
|
void GPodderSync::DeviceUpdatesFinished(mygpo::DeviceUpdatesPtr reply) {
|
||||||
|
@ -344,15 +347,19 @@ void GPodderSync::FlushUpdateQueue() {
|
||||||
NewClosure(reply, SIGNAL(finished()), this,
|
NewClosure(reply, SIGNAL(finished()), this,
|
||||||
SLOT(AddRemoveFinished(mygpo::AddRemoveResultPtr, QList<QUrl>)),
|
SLOT(AddRemoveFinished(mygpo::AddRemoveResultPtr, QList<QUrl>)),
|
||||||
reply, all_urls.toList());
|
reply, all_urls.toList());
|
||||||
NewClosure(reply, SIGNAL(parseError()), this,
|
connect(reply.data(), SIGNAL(parseError()), SLOT(AddRemoveParseError()));
|
||||||
SLOT(AddRemoveFailed(mygpo::AddRemoveResultPtr)), reply);
|
connect(reply.data(), SIGNAL(requestError(QNetworkReply::NetworkError)),
|
||||||
NewClosure(reply, SIGNAL(requestError(QNetworkReply::NetworkError)), this,
|
SLOT(AddRemoveRequestError(QNetworkReply::NetworkError)));
|
||||||
SLOT(AddRemoveFailed(mygpo::AddRemoveResultPtr)), reply);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPodderSync::AddRemoveFailed(mygpo::AddRemoveResultPtr reply) {
|
void GPodderSync::AddRemoveParseError() {
|
||||||
flushing_queue_ = false;
|
flushing_queue_ = false;
|
||||||
qLog(Warning) << "Failed to update gpodder.net subscriptions";
|
qLog(Warning) << "Failed to update gpodder subscriptions: parse error";
|
||||||
|
}
|
||||||
|
|
||||||
|
void GPodderSync::AddRemoveRequestError(QNetworkReply::NetworkError err) {
|
||||||
|
flushing_queue_ = false;
|
||||||
|
qLog(Warning) << "Failed to update gpodder subscriptions:" << err;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPodderSync::AddRemoveFinished(mygpo::AddRemoveResultPtr reply,
|
void GPodderSync::AddRemoveFinished(mygpo::AddRemoveResultPtr reply,
|
||||||
|
|
|
@ -77,7 +77,8 @@ class GPodderSync : public QObject {
|
||||||
const QString& password);
|
const QString& password);
|
||||||
|
|
||||||
void DeviceUpdatesFinished(mygpo::DeviceUpdatesPtr reply);
|
void DeviceUpdatesFinished(mygpo::DeviceUpdatesPtr reply);
|
||||||
void DeviceUpdatesFailed(mygpo::DeviceUpdatesPtr reply);
|
void DeviceUpdatesParseError();
|
||||||
|
void DeviceUpdatesRequestError(QNetworkReply::NetworkError error);
|
||||||
|
|
||||||
void NewPodcastLoaded(PodcastUrlLoaderReply* reply, const QUrl& url,
|
void NewPodcastLoaded(PodcastUrlLoaderReply* reply, const QUrl& url,
|
||||||
const QList<mygpo::EpisodePtr>& actions);
|
const QList<mygpo::EpisodePtr>& actions);
|
||||||
|
@ -91,7 +92,8 @@ class GPodderSync : public QObject {
|
||||||
|
|
||||||
void AddRemoveFinished(mygpo::AddRemoveResultPtr reply,
|
void AddRemoveFinished(mygpo::AddRemoveResultPtr reply,
|
||||||
const QList<QUrl>& affected_urls);
|
const QList<QUrl>& affected_urls);
|
||||||
void AddRemoveFailed(mygpo::AddRemoveResultPtr reply);
|
void AddRemoveParseError();
|
||||||
|
void AddRemoveRequestError(QNetworkReply::NetworkError error);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void LoadQueue();
|
void LoadQueue();
|
||||||
|
|
Loading…
Reference in New Issue