From bae6511936f8d428dcd34790b0189e3731c81424 Mon Sep 17 00:00:00 2001 From: Wiebe Cazemier Date: Sun, 5 Sep 2021 12:13:58 +0200 Subject: [PATCH] Fix not upgrading QoS of existing subscription --- subscriptionstore.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/subscriptionstore.cpp b/subscriptionstore.cpp index 0922f27..1e7f676 100644 --- a/subscriptionstore.cpp +++ b/subscriptionstore.cpp @@ -46,10 +46,16 @@ void SubscriptionNode::addSubscriber(const std::shared_ptr &subscriber, // I'll have to decide whether to keep the subscriber as a vector. Vectors are // fast, and relatively, you don't often add subscribers. - if (std::find(subscribers.begin(), subscribers.end(), sub) == subscribers.end()) + auto subscriber_it = std::find(subscribers.begin(), subscribers.end(), sub); + if (subscriber_it == subscribers.end()) { subscribers.push_back(sub); } + else + { + Subscription &existingSub = *subscriber_it; + existingSub = sub; + } } void SubscriptionNode::removeSubscriber(const std::shared_ptr &subscriber) -- libgit2 0.21.4