diff --git a/plugins/channelrx/chanalyzer/chanalyzerbaseband.cpp b/plugins/channelrx/chanalyzer/chanalyzerbaseband.cpp index 8169228b6..56ee66ffe 100644 --- a/plugins/channelrx/chanalyzer/chanalyzerbaseband.cpp +++ b/plugins/channelrx/chanalyzer/chanalyzerbaseband.cpp @@ -161,7 +161,11 @@ void ChannelAnalyzerBaseband::applySettings(const ChannelAnalyzerSettings& setti } m_sink.applySettings(settings, settingsKeys, force); - m_settings = settings; + if (force) { + m_settings = settings; + } else { + m_settings.applySettings(settingsKeys, settings); + } } int ChannelAnalyzerBaseband::getChannelSampleRate() const diff --git a/plugins/channelrx/demodais/aisdemod.cpp b/plugins/channelrx/demodais/aisdemod.cpp index 7553d43d9..3c745e8e1 100644 --- a/plugins/channelrx/demodais/aisdemod.cpp +++ b/plugins/channelrx/demodais/aisdemod.cpp @@ -324,7 +324,11 @@ void AISDemod::applySettings(const AISDemodSettings& settings, const QStringList } } - m_settings = settings; + if (force) { + m_settings = settings; + } else { + m_settings.applySettings(settingsKeys, settings); + } } QByteArray AISDemod::serialize() const diff --git a/plugins/channelrx/localsink/localsink.cpp b/plugins/channelrx/localsink/localsink.cpp index 419525ad1..c96fc6575 100644 --- a/plugins/channelrx/localsink/localsink.cpp +++ b/plugins/channelrx/localsink/localsink.cpp @@ -395,7 +395,11 @@ void LocalSink::applySettings(const LocalSinkSettings& settings, const QList& set webapiReverseSendSettings(settingsKeys, settings, fullUpdate || force); } - m_settings = settings; + if (force) { + m_settings = settings; + } else { + m_settings.applySettings(settingsKeys, settings); + } } int APRS::webapiRun(bool run, diff --git a/plugins/feature/jogdialcontroller/jogdialcontroller.cpp b/plugins/feature/jogdialcontroller/jogdialcontroller.cpp index f78dfa7c9..c5a9ea574 100644 --- a/plugins/feature/jogdialcontroller/jogdialcontroller.cpp +++ b/plugins/feature/jogdialcontroller/jogdialcontroller.cpp @@ -184,7 +184,11 @@ void JogdialController::applySettings(const JogdialControllerSettings& settings, webapiReverseSendSettings(settingsKeys, settings, fullUpdate || force); } - m_settings = settings; + if (force) { + m_settings = settings; + } else { + m_settings.applySettings(settingsKeys, settings); + } } void JogdialController::updateChannels() diff --git a/plugins/feature/pertester/pertester.cpp b/plugins/feature/pertester/pertester.cpp index b54e6737c..1155bba05 100644 --- a/plugins/feature/pertester/pertester.cpp +++ b/plugins/feature/pertester/pertester.cpp @@ -206,7 +206,11 @@ void PERTester::applySettings(const PERTesterSettings& settings, const QList