diff options
Diffstat (limited to 'src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp')
-rw-r--r-- | src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp index 724155a8f5..e747a8d179 100644 --- a/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp +++ b/src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp @@ -82,6 +82,8 @@ QTcpServerConnection::QTcpServerConnection() : QTcpServerConnection::~QTcpServerConnection() { + if (isConnected()) + disconnect(); delete d_ptr; } @@ -117,6 +119,9 @@ void QTcpServerConnection::disconnect() { Q_D(QTcpServerConnection); + while (d->socket && d->socket->bytesToWrite() > 0) + d->socket->waitForBytesWritten(); + // protocol might still be processing packages at this point d->protocol->deleteLater(); d->protocol = 0; |