diff options
author | Peter Kümmel <syntheticpp@gmx.net> | 2012-12-01 15:29:43 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-03 18:19:28 +0100 |
commit | 8e3d4f5e8752c035036a00c85b5dccc2676e82da (patch) | |
tree | 7ef17d0fac20aca858dbe01410e65cd8d77c9a8f /tests/auto/network | |
parent | 0cac0796a0156c1745e2a276c20d4eabb5f88bf8 (diff) |
Don't read from deleted member variable
QNetworkProxy::setApplicationProxy deletes factory set by
QNetworkProxyFactory::setApplicationProxyFactory.
Change-Id: Iaafd62d1cdb2045d69c7359cacc513056216826c
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Diffstat (limited to 'tests/auto/network')
-rw-r--r-- | tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp b/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp index 590f6184e7..32515911e3 100644 --- a/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp +++ b/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp @@ -73,7 +73,8 @@ public: return returnedList; } QList<QNetworkProxy> returnedList; - int requestCounter; + + static int requestCounter; }; private slots: @@ -92,6 +93,8 @@ private: QDebugProxyFactory *factory; }; +int tst_QNetworkProxyFactory::QDebugProxyFactory::requestCounter = 0; + tst_QNetworkProxyFactory::tst_QNetworkProxyFactory() { factory = new QDebugProxyFactory; @@ -204,6 +207,7 @@ void tst_QNetworkProxyFactory::systemProxyForQuery_local() // set an arbitrary proxy QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::HttpProxy, proxyHost, 80)); + factory = 0; // localhost list = QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery(QUrl("http://localhost/"))); @@ -231,6 +235,7 @@ void tst_QNetworkProxyFactory::systemProxyForQuery_local() // disable proxy QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::NoProxy)); + factory = 0; // localhost list = QNetworkProxyFactory::proxyForQuery(QNetworkProxyQuery(QUrl("http://localhost/"))); @@ -328,7 +333,7 @@ void tst_QNetworkProxyFactory::inNetworkAccessManager() QFETCH(QNetworkConfiguration, config); QFETCH(QList<QNetworkProxy>, proxies); - int count = factory->requestCounter; + int count = QDebugProxyFactory::requestCounter; QNetworkAccessManager manager; manager.setConfiguration(config); @@ -340,11 +345,12 @@ void tst_QNetworkProxyFactory::inNetworkAccessManager() QTestEventLoop::instance().enterLoop(30); delete reply; - if (count == factory->requestCounter) { + if (count == QDebugProxyFactory::requestCounter) { //RND phones are preconfigured with several test access points which won't work without a matching SIM //If the network fails to start, QNAM won't ask the factory for proxies so we can't test. QSKIP("network configuration didn't start"); } + QVERIFY(factory); qDebug() << "testing network configuration for" << config.name(); foreach (QNetworkProxy proxy, factory->returnedList) { |