QmlDebug: Check if packet protocol is still alive after flush()

An QAbstractSocket can disconnect itself on flush(), which we call
after sending any packets. This leads to the packet protocol getting
deleted and in the next iteration of the loop
QmlDebugConnectionPrivate::readyRead() we'd use a null pointer.
Prevent that by checking for null.

Change-Id: Idfdb68a10c3e4deee7b305ff3b028247809090a6
Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
Ulf Hermann
2015-08-19 10:40:05 +02:00
parent f1b9f56c69
commit cb32ffff85

View File

@@ -191,7 +191,7 @@ void QmlDebugConnectionPrivate::readyRead()
emit q->opened(); emit q->opened();
} }
while (protocol->packetsAvailable()) { while (protocol && protocol->packetsAvailable()) {
QPacket pack = protocol->read(); QPacket pack = protocol->read();
QString name; QString name;
pack >> name; pack >> name;