Explain radio settings reload and publication ordering
This commit is contained in:
1 parent
8a96e5d1c7
commit
b5063f435b
2 files changed
+3
-1
No files matched your search
@@ -194,6 +194,7 @@ void RadioAudioEngine::postSettings(const std::array<int, 9>& 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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user