aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2018-09-20 10:04:21 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-09-20 11:49:37 +0000
commit1ccd4d6900fae3b4a7dac11c69fafea17692b02d (patch)
tree5e1ebd26b68ada5dd5be56749108fbcb2e2c5b38 /src/plugins
parentf4e96bf319b14bc64d9c92551303991b4f303846 (diff)
QPacketProtocol: Remove aboutToClose() method
It doesn't serve any useful purpose. The cleanup is done on destruction anyway, and re-opening the underlying device after it was closed isn't supported. Furthermore, clearing the sendingPackets leads to a crash when the device sends another bytesWritten() signal after aboutToClose(). That can happen, for example with local sockets on windows, when flushing the remaining data. Fixes: QTBUG-70638 Change-Id: Icd636efc9794a127a3869a1c3e999d2286593067 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp13
-rw-r--r--src/plugins/qmltooling/packetprotocol/qpacketprotocol_p.h1
2 files changed, 0 insertions, 14 deletions
diff --git a/src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp b/src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp
index c256501301..3e75e39f86 100644
--- a/src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp
+++ b/src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp
@@ -128,7 +128,6 @@ QPacketProtocol::QPacketProtocol(QIODevice *dev, QObject *parent)
Q_ASSERT(dev);
QObject::connect(dev, &QIODevice::readyRead, this, &QPacketProtocol::readyToRead);
- QObject::connect(dev, &QIODevice::aboutToClose, this, &QPacketProtocol::aboutToClose);
QObject::connect(dev, &QIODevice::bytesWritten, this, &QPacketProtocol::bytesWritten);
}
@@ -209,17 +208,6 @@ bool QPacketProtocol::waitForReadyRead(int msecs)
} while (true);
}
-/*!
- Return the QIODevice passed to the QPacketProtocol constructor.
-*/
-void QPacketProtocol::aboutToClose()
-{
- Q_D(QPacketProtocol);
- d->inProgress.clear();
- d->sendingPackets.clear();
- d->inProgressSize = -1;
-}
-
void QPacketProtocol::bytesWritten(qint64 bytes)
{
Q_D(QPacketProtocol);
@@ -257,7 +245,6 @@ void QPacketProtocol::readyToRead()
// Check sizing constraints
if (d->inProgressSize < qint32(sizeof(qint32))) {
disconnect(d->dev, &QIODevice::readyRead, this, &QPacketProtocol::readyToRead);
- disconnect(d->dev, &QIODevice::aboutToClose, this, &QPacketProtocol::aboutToClose);
disconnect(d->dev, &QIODevice::bytesWritten, this, &QPacketProtocol::bytesWritten);
d->dev = nullptr;
emit error();
diff --git a/src/plugins/qmltooling/packetprotocol/qpacketprotocol_p.h b/src/plugins/qmltooling/packetprotocol/qpacketprotocol_p.h
index a478fc9996..b401a58437 100644
--- a/src/plugins/qmltooling/packetprotocol/qpacketprotocol_p.h
+++ b/src/plugins/qmltooling/packetprotocol/qpacketprotocol_p.h
@@ -75,7 +75,6 @@ Q_SIGNALS:
void error();
private:
- void aboutToClose();
void bytesWritten(qint64 bytes);
void readyToRead();
};