summaryrefslogtreecommitdiffstats
path: root/src/serialbus/qmodbusclient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialbus/qmodbusclient.cpp')
-rw-r--r--src/serialbus/qmodbusclient.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/serialbus/qmodbusclient.cpp b/src/serialbus/qmodbusclient.cpp
index 32be316..d273a3a 100644
--- a/src/serialbus/qmodbusclient.cpp
+++ b/src/serialbus/qmodbusclient.cpp
@@ -351,6 +351,9 @@ QModbusRequest QModbusClientPrivate::createRWRequest(const QModbusDataUnit &read
void QModbusClientPrivate::processQueueElement(const QModbusResponse &pdu,
const QueueElement &element)
{
+ if (element.reply.isNull())
+ return;
+
element.reply->setRawResult(pdu);
if (pdu.isException()) {
element.reply->setError(QModbusDevice::ProtocolError,
@@ -358,7 +361,7 @@ void QModbusClientPrivate::processQueueElement(const QModbusResponse &pdu,
return;
}
- if (element.reply->type() == QModbusReply::Raw) {
+ if (element.reply->type() != QModbusReply::Common) {
element.reply->setFinished(true);
return;
}