I have a qtcpSocket in a QThread, when i must disconnect, the program crash for a runtime error.

Qt Code:
  1. void ThreadSocket::run()
  2. {
  3. mpqtcp_Socket = new QTcpSocket(this);
  4. connect (mpqtcp_Socket, SIGNAL (connected()), SLOT(SocketConnected()) );
  5. //connect (mpqtcp_Socket, SIGNAL (connectionClosed()), SLOT(SocketClosed()), Qt::DirectConnection );
  6. connect (mpqtcp_Socket, SIGNAL (disconnected()), SLOT(SocketClosed()));
  7.  
  8. connect (mpqtcp_Socket, SIGNAL (readyRead()), SLOT(SocketAnswer()), Qt::DirectConnection);
  9. connect (mpqtcp_Socket, SIGNAL (error(int)), SLOT(SocketError(int)) );
  10.  
  11. mpqtcp_Socket->connectToHost (mqstr_Address, mint_Port);
  12. exec();
  13. }
To copy to clipboard, switch view to plain text mode 

disconnect code:

Qt Code:
  1. void ThreadSocket::Disconnect()
  2. {
  3. mpqtcp_Socket->disconnectFromHost();
  4. mpqtcp_Socket->waitForDisconnected();
  5. }
To copy to clipboard, switch view to plain text mode 

I'm doing something wrong? thanks in advance!

Sam