mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-03-16 08:29:15 +01:00
OP-1453 - Modify to get network access manager to remove itself once we
receive a response. Also check to see if we can access the network before connection signals/slots. If the network isn't accessible, just remove the network access manager instance.
This commit is contained in:
parent
b3f1c0281b
commit
3c3c08d2d7
@ -63,7 +63,6 @@ struct WelcomeModePrivate {
|
|||||||
WelcomeModePrivate();
|
WelcomeModePrivate();
|
||||||
|
|
||||||
QQuickView *quickView;
|
QQuickView *quickView;
|
||||||
QNetworkAccessManager* networkAccess;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
WelcomeModePrivate::WelcomeModePrivate()
|
WelcomeModePrivate::WelcomeModePrivate()
|
||||||
@ -81,20 +80,28 @@ WelcomeMode::WelcomeMode() :
|
|||||||
m_d->quickView->setSource(QUrl("qrc:/welcome/qml/main.qml"));
|
m_d->quickView->setSource(QUrl("qrc:/welcome/qml/main.qml"));
|
||||||
m_container = NULL;
|
m_container = NULL;
|
||||||
|
|
||||||
m_d->networkAccess = new QNetworkAccessManager;
|
QNetworkAccessManager* networkAccessManager = new QNetworkAccessManager;
|
||||||
|
|
||||||
m_d->networkAccess->get(QNetworkRequest(QUrl("http://www.openpilot.org/opver")));
|
// Only attempt to request our version info if the network is accessible
|
||||||
|
if(networkAccessManager->networkAccessible() == QNetworkAccessManager::Accessible)
|
||||||
|
{
|
||||||
|
connect(networkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkResponseReady(QNetworkReply*)));
|
||||||
|
|
||||||
connect(m_d->networkAccess, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkResponseReady(QNetworkReply*)));
|
// This will delete the network access manager instance when we're done
|
||||||
|
connect(networkAccessManager, SIGNAL(finished(QNetworkReply*)), networkAccessManager, SLOT(deleteLater()));
|
||||||
|
|
||||||
|
networkAccessManager->get(QNetworkRequest(QUrl("http://www.openpilot.org/opver")));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// No network, can delete this now as we don't need it.
|
||||||
|
delete networkAccessManager;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WelcomeMode::~WelcomeMode()
|
WelcomeMode::~WelcomeMode()
|
||||||
{
|
{
|
||||||
delete m_d->quickView;
|
delete m_d->quickView;
|
||||||
|
|
||||||
// This may or may not have been scheduled for deletion elsewhere. Should
|
|
||||||
// be safe to call this again if it has already been scheduled.
|
|
||||||
m_d->networkAccess->deleteLater();
|
|
||||||
delete m_d;
|
delete m_d;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,7 +166,6 @@ void WelcomeMode::networkResponseReady(QNetworkReply* reply)
|
|||||||
version = version.trimmed();
|
version = version.trimmed();
|
||||||
|
|
||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
m_d->networkAccess->deleteLater();
|
|
||||||
|
|
||||||
if(version != VersionInfo::tagOrHash8())
|
if(version != VersionInfo::tagOrHash8())
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user