From 571863b15f937cb188b3a8b3f2549bc1ca14af00 Mon Sep 17 00:00:00 2001 From: LordGrey <48840279+Lord-Grey@users.noreply.github.com> Date: Mon, 29 Apr 2024 21:31:50 +0200 Subject: [PATCH] Fix resetSubscriptions --- include/api/JsonCallbacks.h | 1 + libsrc/api/JsonCallbacks.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/api/JsonCallbacks.h b/include/api/JsonCallbacks.h index d4dac47c..a5c14ce4 100644 --- a/include/api/JsonCallbacks.h +++ b/include/api/JsonCallbacks.h @@ -194,6 +194,7 @@ private: /// priority muxer instance PriorityMuxer* _prioMuxer; + /// contains active subscriptions QSet<Subscription::Type> _subscribedCommands; diff --git a/libsrc/api/JsonCallbacks.cpp b/libsrc/api/JsonCallbacks.cpp index 26db247e..0e156727 100644 --- a/libsrc/api/JsonCallbacks.cpp +++ b/libsrc/api/JsonCallbacks.cpp @@ -229,7 +229,8 @@ QStringList JsonCallbacks::unsubscribe(const QJsonArray& subscriptions) void JsonCallbacks::resetSubscriptions() { - for (QSet<Subscription::Type>::const_iterator it = _subscribedCommands.constBegin(); it != _subscribedCommands.constEnd(); ++it) + const QSet<Subscription::Type> currentSubscriptions = _subscribedCommands; + for (QSet<Subscription::Type>::const_iterator it = currentSubscriptions.constBegin(); it != currentSubscriptions.constEnd(); ++it) { unsubscribe(*it); }