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 _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::const_iterator it = _subscribedCommands.constBegin(); it != _subscribedCommands.constEnd(); ++it) + const QSet currentSubscriptions = _subscribedCommands; + for (QSet::const_iterator it = currentSubscriptions.constBegin(); it != currentSubscriptions.constEnd(); ++it) { unsubscribe(*it); }