aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorChristiaan Janssen <christiaan.janssen@nokia.com>2012-05-08 14:21:45 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-08 22:36:35 +0200
commita5f1cec896c514a94f243f4adf3660e4b03a41ef (patch)
treef68b45282e8101cffbe0a18da1b809e4f15663c1 /src/plugins
parentbda67d861e1093d0aadbaab6daded4f4f3b19db1 (diff)
QmlDebugging: make sure that all data is sent on close
Change-Id: I662a3865fec1e4d12d57389bfbe23d7221b6df16 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com> Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
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;