QTfrontend/net/tcpBase.cpp
changeset 8070 66bc20d089fc
parent 8069 bb7671829935
child 8082 675372256a01
equal deleted inserted replaced
8069:bb7671829935 8070:66bc20d089fc
    36 
    36 
    37     if (IPCSocket)
    37     if (IPCSocket)
    38         IPCSocket->deleteLater();
    38         IPCSocket->deleteLater();
    39 }
    39 }
    40 
    40 
    41 TCPBase::TCPBase(bool demoMode) :
    41 TCPBase::TCPBase(bool demoMode, QObject *parent) :
       
    42     QObject(parent),
    42     m_hasStarted(false),
    43     m_hasStarted(false),
    43     m_isDemoMode(demoMode),
    44     m_isDemoMode(demoMode),
    44     IPCSocket(0)
    45     IPCSocket(0)
    45 {
    46 {
    46     if(!IPCServer)
    47     if(!IPCServer)
   142         srvsList.push_back(this);
   143         srvsList.push_back(this);
   143         RealStart();
   144         RealStart();
   144     }
   145     }
   145     else
   146     else
   146     {
   147     {
   147         if(couldCancelPreviousRequest && srvsList.last()->couldBeRemoved())
   148         TCPBase * last = srvsList.last();
   148         {
   149         if(couldCancelPreviousRequest
   149             TCPBase * last = srvsList.takeLast();
   150             && last->couldBeRemoved()
       
   151             && (last->parent() == parent()))
       
   152         {
       
   153             srvsList.removeLast();
   150             last->deleteLater();
   154             last->deleteLater();
   151             Start(couldCancelPreviousRequest);
   155             Start(couldCancelPreviousRequest);
   152         } else
   156         } else
   153         {
   157         {
   154             connect(srvsList.last(), SIGNAL(isReadyNow()), this, SLOT(tcpServerReady()));
   158             connect(srvsList.last(), SIGNAL(isReadyNow()), this, SLOT(tcpServerReady()));