From b5063f435bd593392c49bb053056f4f106f0bbda Mon Sep 17 00:00:00 2001 From: evgeny Date: Tue, 27 Oct 2026 14:12:49 +0100 Subject: [PATCH] Explain radio settings reload and publication ordering --- tools/chatgui/src/radio_audio_engine.cpp | 1 + tools/chatgui/src/radio_audio_engine.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/chatgui/src/radio_audio_engine.cpp b/tools/chatgui/src/radio_audio_engine.cpp index c042f03f..e570954d 100644 --- a/tools/chatgui/src/radio_audio_engine.cpp +++ b/tools/chatgui/src/radio_audio_engine.cpp @@ -194,6 +194,7 @@ void RadioAudioEngine::postSettings(const std::array& values, bool apply }, Qt::QueuedConnection); request->~SettingsRequest(); }; + // Сначала поставить задачу: обработчик stateChanged может синхронно вызвать следующий loadSettings. uasync_post_reserved(inst->ua, &request->task); DEBUG_DEBUG(DEBUG_CATEGORY_RADIO, "RadioAudio: settings queued generation=%llu apply=%d", (unsigned long long)generation, apply); diff --git a/tools/chatgui/src/radio_audio_engine.h b/tools/chatgui/src/radio_audio_engine.h index 136e1389..b5e1b705 100644 --- a/tools/chatgui/src/radio_audio_engine.h +++ b/tools/chatgui/src/radio_audio_engine.h @@ -35,7 +35,8 @@ public: void talkEnd(); void setHotkeyTalking(bool pressed); // независимый владелец PTT — глобальная клавиатура - /* GUI-поток: начать новое поколение настроек после DB_READY или явного перечитывания конфига. + /* GUI-поток: начать новое чтение настроек из ядра, в том числе после DB_READY. + * configPath — INI для последующего applySettings; loadSettings сам файл не читает. * Снимает прежнее ожидание, даже если ядро удалило задачу без callback; поздний результат прежнего поколения игнорируется. * Физически уже поставленные задачи остаются в очереди ядра; новый снимок читается после них. */ void loadSettings(const QString& configPath);