# HG changeset patch # User Stepan777 # Date 1340662475 -14400 # Node ID 835bb2852579c899074a44fa7dac0edb86c8da26 # Parent 068adc6948e3f3236d59bd19522c98d4b4a19045 Restore almost old TCPBase behaviour (it was only necessary to move emiting of isReadyNow() from ClientDisconnect() to NewConnection()). Also ensure deletion of IPCSocket. diff -r 068adc6948e3 -r 835bb2852579 QTfrontend/net/tcpBase.cpp --- a/QTfrontend/net/tcpBase.cpp Sun Jun 24 21:33:45 2012 +0400 +++ b/QTfrontend/net/tcpBase.cpp Tue Jun 26 02:14:35 2012 +0400 @@ -26,16 +26,18 @@ #include "hwconsts.h" -//QList srvsList; -//QPointer TCPBase::IPCServer(0); +QList srvsList; +QPointer TCPBase::IPCServer(0); TCPBase::~TCPBase() { + if (IPCSocket) + IPCSocket->deleteLater(); } TCPBase::TCPBase(bool demoMode) : m_isDemoMode(demoMode), - IPCSocket(0), IPCServer(0) + IPCSocket(0) { if(!IPCServer) { @@ -65,9 +67,12 @@ connect(IPCSocket, SIGNAL(disconnected()), this, SLOT(ClientDisconnect())); connect(IPCSocket, SIGNAL(readyRead()), this, SLOT(ClientRead())); SendToClientFirst(); + + if(srvsList.size()==1) srvsList.pop_front(); + emit isReadyNow(); } -void TCPBase::/*Real*/Start() +void TCPBase::RealStart() { connect(IPCServer, SIGNAL(newConnection()), this, SLOT(NewConnection())); IPCSocket = 0; @@ -109,13 +114,13 @@ .arg(error) + bindir->absolutePath() + "/hwengine)"); } -/* void TCPBase::tcpServerReady() { disconnect(srvsList.takeFirst(), SIGNAL(isReadyNow()), this, SLOT(tcpServerReady())); RealStart(); } + void TCPBase::Start() { if(srvsList.isEmpty()) @@ -130,7 +135,7 @@ } RealStart(); -}*/ +} void TCPBase::onClientRead() { diff -r 068adc6948e3 -r 835bb2852579 QTfrontend/net/tcpBase.h --- a/QTfrontend/net/tcpBase.h Sun Jun 24 21:33:45 2012 +0400 +++ b/QTfrontend/net/tcpBase.h Tue Jun 26 02:14:35 2012 +0400 @@ -62,11 +62,11 @@ virtual void onClientDisconnect(); virtual void SendToClientFirst(); - // void RealStart(); private: - /*static*/ QPointer IPCServer; + static QPointer IPCServer; bool m_isDemoMode; + void RealStart(); QPointer IPCSocket; private slots: @@ -75,7 +75,7 @@ void ClientRead(); void StartProcessError(QProcess::ProcessError error); - // void tcpServerReady(); + void tcpServerReady(); }; #endif // _TCPBASE_INCLUDED