aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/websockets/qwebsocket.cpp4
-rw-r--r--src/websockets/qwebsocket_p.cpp7
-rw-r--r--src/websockets/qwebsocketserver.cpp2
-rw-r--r--src/websockets/qwebsocketserver_p.cpp7
-rw-r--r--src/websockets/qwebsocketserver_p.h1
5 files changed, 18 insertions, 3 deletions
diff --git a/src/websockets/qwebsocket.cpp b/src/websockets/qwebsocket.cpp
index 45394e3..6e60230 100644
--- a/src/websockets/qwebsocket.cpp
+++ b/src/websockets/qwebsocket.cpp
@@ -262,6 +262,8 @@ QWebSocket::QWebSocket(const QString &origin,
QObject *parent) :
QObject(*(new QWebSocketPrivate(origin, version, this)), parent)
{
+ Q_D(QWebSocket);
+ d->init();
}
/*!
@@ -301,6 +303,8 @@ QWebSocket::QWebSocket(QTcpSocket *pTcpSocket,
QWebSocketProtocol::Version version, QObject *parent) :
QObject(*(new QWebSocketPrivate(pTcpSocket, version, this)), parent)
{
+ Q_D(QWebSocket);
+ d->init();
}
/*!
diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp
index fe4dd8a..5d58fec 100644
--- a/src/websockets/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
@@ -111,7 +111,6 @@ QWebSocketPrivate::QWebSocketPrivate(const QString &origin, QWebSocketProtocol::
m_dataProcessor(),
m_configuration()
{
- init();
}
/*!
@@ -142,8 +141,6 @@ QWebSocketPrivate::QWebSocketPrivate(QTcpSocket *pTcpSocket, QWebSocketProtocol:
m_dataProcessor(),
m_configuration()
{
- init();
- makeConnections(m_pSocket.data());
}
/*!
@@ -154,6 +151,10 @@ void QWebSocketPrivate::init()
Q_ASSERT(q_ptr);
//TODO: need a better randomizer
qsrand(static_cast<uint>(QDateTime::currentMSecsSinceEpoch()));
+
+ if (m_pSocket) {
+ makeConnections(m_pSocket.data());
+ }
}
/*!
diff --git a/src/websockets/qwebsocketserver.cpp b/src/websockets/qwebsocketserver.cpp
index 10ee83e..a8a25be 100644
--- a/src/websockets/qwebsocketserver.cpp
+++ b/src/websockets/qwebsocketserver.cpp
@@ -236,6 +236,8 @@ QWebSocketServer::QWebSocketServer(const QString &serverName, SslMode secureMode
#ifdef QT_NO_SSL
Q_UNUSED(secureMode)
#endif
+ Q_D(QWebSocketServer);
+ d->init();
}
/*!
diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp
index 912c66e..6797cbc 100644
--- a/src/websockets/qwebsocketserver_p.cpp
+++ b/src/websockets/qwebsocketserver_p.cpp
@@ -73,6 +73,13 @@ QWebSocketServerPrivate::QWebSocketServerPrivate(const QString &serverName,
m_errorString()
{
Q_ASSERT(pWebSocketServer);
+}
+
+/*!
+ \internal
+ */
+void QWebSocketServerPrivate::init()
+{
if (m_secureMode == NonSecureMode) {
m_pTcpServer = new QTcpServer();
if (Q_LIKELY(m_pTcpServer))
diff --git a/src/websockets/qwebsocketserver_p.h b/src/websockets/qwebsocketserver_p.h
index a9aa880..c4afd3d 100644
--- a/src/websockets/qwebsocketserver_p.h
+++ b/src/websockets/qwebsocketserver_p.h
@@ -85,6 +85,7 @@ public:
QWebSocketServer * const pWebSocketServer);
virtual ~QWebSocketServerPrivate();
+ void init();
void close();
QString errorString() const;
bool hasPendingConnections() const;