1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 21:54:55 -04:00

Corrected network manager process memory leaks (Rx side)

This commit is contained in:
f4exb
2019-11-12 18:46:21 +01:00
parent e6a929470f
commit 246ff824af
31 changed files with 420 additions and 259 deletions
+15 -9
View File
@@ -1121,13 +1121,14 @@ void FCDProInput::webapiReverseSendSettings(QList<QString>& deviceSettingsKeys,
m_networkRequest.setUrl(QUrl(deviceSettingsURL));
m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
QBuffer *buffer=new QBuffer();
QBuffer *buffer = new QBuffer();
buffer->open((QBuffer::ReadWrite));
buffer->write(swgDeviceSettings->asJson().toUtf8());
buffer->seek(0);
// Always use PATCH to avoid passing reverse API settings
m_networkManager->sendCustomRequest(m_networkRequest, "PATCH", buffer);
QNetworkReply *reply = m_networkManager->sendCustomRequest(m_networkRequest, "PATCH", buffer);
buffer->setParent(reply);
delete swgDeviceSettings;
}
@@ -1146,17 +1147,19 @@ void FCDProInput::webapiReverseSendStartStop(bool start)
m_networkRequest.setUrl(QUrl(deviceSettingsURL));
m_networkRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
QBuffer *buffer=new QBuffer();
QBuffer *buffer = new QBuffer();
buffer->open((QBuffer::ReadWrite));
buffer->write(swgDeviceSettings->asJson().toUtf8());
buffer->seek(0);
QNetworkReply *reply;
if (start) {
m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer);
reply = m_networkManager->sendCustomRequest(m_networkRequest, "POST", buffer);
} else {
m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer);
reply = m_networkManager->sendCustomRequest(m_networkRequest, "DELETE", buffer);
}
buffer->setParent(reply);
delete swgDeviceSettings;
}
@@ -1170,10 +1173,13 @@ void FCDProInput::networkManagerFinished(QNetworkReply *reply)
<< " error(" << (int) replyError
<< "): " << replyError
<< ": " << reply->errorString();
return;
}
else
{
QString answer = reply->readAll();
answer.chop(1); // remove last \n
qDebug("FCDProInput::networkManagerFinished: reply:\n%s", answer.toStdString().c_str());
}
QString answer = reply->readAll();
answer.chop(1); // remove last \n
qDebug("FCDProInput::networkManagerFinished: reply:\n%s", answer.toStdString().c_str());
reply->deleteLater();
}