summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@qt.io>2018-12-14 13:20:36 +0100
committerMaurice Kalinowski <maurice.kalinowski@qt.io>2018-12-14 12:49:47 +0000
commitbf30507ef17445b464abe230f4bf349d732fbfd1 (patch)
tree88209a0dca25ccf1dc80b179634a66170fe97449
parent6a7eed0a048c25134b441fb52dcfe1eff627d9b0 (diff)
Do not set an error when manually disconnecting
In case the transport gets closed by invoking disconnectFromHost(), no error code should be set. Change-Id: I8f85ea6dd6ebe7dbe4e6eea8be48d286a3495a3a Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
-rw-r--r--src/mqtt/qmqttconnection.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mqtt/qmqttconnection.cpp b/src/mqtt/qmqttconnection.cpp
index f1ad7ec..150bbf4 100644
--- a/src/mqtt/qmqttconnection.cpp
+++ b/src/mqtt/qmqttconnection.cpp
@@ -674,7 +674,10 @@ void QMqttConnection::transportConnectionClosed()
m_readBuffer.clear();
m_readPosition = 0;
m_pingTimer.stop();
- m_clientPrivate->setStateAndError(QMqttClient::Disconnected, QMqttClient::TransportInvalid);
+ if (m_internalState == BrokerDisconnected) // We manually disconnected
+ m_clientPrivate->setStateAndError(QMqttClient::Disconnected, QMqttClient::NoError);
+ else
+ m_clientPrivate->setStateAndError(QMqttClient::Disconnected, QMqttClient::TransportInvalid);
}
void QMqttConnection::transportReadReady()