summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@nokia.com>2011-04-01 18:35:28 +0200
committerQt Commercial Integration <QtCommercial@digia.com>2012-01-31 12:24:57 +0200
commitfbd7d47cf41400e0b0f5e8aedee9b0ef67f2f5d5 (patch)
tree33575853c8ab43e5c89f092a35cc6eda16e223d1
parent3b1b24d0ba64af705c6d80db9452358d52c9e4ff (diff)
fix QLocalSocket::isValid() on Windows
This function always returned false, even if the socket was connected. Task-number: QTBUG-18204 Reviewed-by: Martin Petersson
-rw-r--r--src/network/socket/qlocalsocket_win.cpp5
-rw-r--r--tests/auto/qlocalsocket/tst_qlocalsocket.cpp2
2 files changed, 3 insertions, 4 deletions
diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp
index c4fc4c7d0f..f26a7abdce 100644
--- a/src/network/socket/qlocalsocket_win.cpp
+++ b/src/network/socket/qlocalsocket_win.cpp
@@ -574,10 +574,7 @@ bool QLocalSocket::waitForDisconnected(int msecs)
bool QLocalSocket::isValid() const
{
Q_D(const QLocalSocket);
- if (d->handle == INVALID_HANDLE_VALUE)
- return false;
-
- return PeekNamedPipe(d->handle, NULL, 0, NULL, NULL, NULL);
+ return d->handle != INVALID_HANDLE_VALUE;
}
bool QLocalSocket::waitForReadyRead(int msecs)
diff --git a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
index b6afce151c..3dc5e7392f 100644
--- a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
@@ -391,6 +391,8 @@ void tst_QLocalSocket::listenAndConnect()
QVERIFY(socket->fullServerName().contains(name));
sockets.append(socket);
if (canListen) {
+ QVERIFY(socket->waitForConnected());
+ QVERIFY(socket->isValid());
QCOMPARE(socket->errorString(), QString("Unknown error"));
QCOMPARE(socket->error(), QLocalSocket::UnknownSocketError);
QCOMPARE(socket->state(), QLocalSocket::ConnectedState);