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);
 	}