aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp5
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;