diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 18962fff05a4c4c1f873ac6dfd25f12eb16d2f98..1932aebb1230dc76476fc4d928666473d0de7ef2 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -1227,7 +1227,7 @@ QNetworkProxy QWebSocketPrivate::proxy() const */ void QWebSocketPrivate::setProxy(const QNetworkProxy &networkProxy) { - if (networkProxy != networkProxy) + if (m_configuration.m_proxy != networkProxy) m_configuration.m_proxy = networkProxy; } #endif //QT_NO_NETWORKPROXY diff --git a/tests/auto/qwebsocket/tst_qwebsocket.cpp b/tests/auto/qwebsocket/tst_qwebsocket.cpp index 9e5997e1178f3bba54e76ae111ba4d40ba9aa29b..529efa3946d1e2f47cfb8e0786e8fb660a8845d8 100644 --- a/tests/auto/qwebsocket/tst_qwebsocket.cpp +++ b/tests/auto/qwebsocket/tst_qwebsocket.cpp @@ -147,6 +147,7 @@ private Q_SLOTS: void tst_sendTextMessage(); void tst_sendBinaryMessage(); void tst_errorString(); + void tst_setProxy(); }; tst_QWebSocket::tst_QWebSocket() @@ -575,6 +576,23 @@ void tst_QWebSocket::tst_errorString() QCOMPARE(socket.errorString(), QStringLiteral("Host not found")); } +void tst_QWebSocket::tst_setProxy() +{ + // check if property assignment works as expected. + QWebSocket socket; + QCOMPARE(socket.proxy(), QNetworkProxy(QNetworkProxy::DefaultProxy)); + + QNetworkProxy proxy; + proxy.setPort(123); + socket.setProxy(proxy); + QCOMPARE(socket.proxy(), proxy); + + proxy.setPort(321); + QCOMPARE(socket.proxy().port(), quint16(123)); + socket.setProxy(proxy); + QCOMPARE(socket.proxy(), proxy); +} + QTEST_MAIN(tst_QWebSocket) #include "tst_qwebsocket.moc"