QTfrontend/net/tcpBase.cpp
changeset 7687 c73fd8cfa7c0
parent 7673 e06b83cbde74
child 7794 ab7b94c03bc9
--- a/QTfrontend/net/tcpBase.cpp	Mon Aug 27 17:40:16 2012 +0200
+++ b/QTfrontend/net/tcpBase.cpp	Sun Sep 16 16:54:51 2012 +0200
@@ -31,6 +31,8 @@
 
 TCPBase::~TCPBase()
 {
+    if (IPCSocket)
+        IPCSocket->deleteLater();
 }
 
 TCPBase::TCPBase(bool demoMode) :
@@ -65,6 +67,9 @@
     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::RealStart()
@@ -88,9 +93,13 @@
     disconnect(IPCSocket, SIGNAL(readyRead()), this, SLOT(ClientRead()));
     onClientDisconnect();
 
-    if(srvsList.size()==1) srvsList.pop_front();
-    emit isReadyNow();
+ /*   if(srvsList.size()==1) srvsList.pop_front();
+    emit isReadyNow();*/
     IPCSocket->deleteLater();
+
+    // make sure this object is not in the server list anymore
+    srvsList.removeOne(this);
+
     deleteLater();
 }