Fix mqtt items asserting on client instances
This commit is contained in:
parent
b0792d32db
commit
d69bfb58b9
4 changed files with 13 additions and 7 deletions
|
|
@ -83,13 +83,17 @@ void MqttClient::unsubscribe(MqttClient::Subscription* subscription)
|
|||
|
||||
void MqttClient::unsubscribe(QString topic)
|
||||
{
|
||||
assert(!subscriptions.contains(topic));
|
||||
MqttClient::Subscription* sub = subscriptions[topic];
|
||||
if(!sub)
|
||||
{
|
||||
qWarning()<<"MqttClient: Trying to unsubscribe from unkown topic:"<<topic;
|
||||
return;
|
||||
}
|
||||
|
||||
if(--sub->ref > 0)
|
||||
return;
|
||||
|
||||
qDebug()<<"MqttClient: unsubscibeing"<<sub->subscription->topic();
|
||||
qDebug()<<"MqttClient: unsubscibeing"<<sub->subscription->topic().filter();
|
||||
client->unsubscribe(sub->subscription->topic());
|
||||
subscriptions.erase(topic);
|
||||
delete sub;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue