fix(beacon): взведённый клик снимается при любом наведении, не только мышью

FBeaconArming гасился только в обработчике клика по спектру. Навёл AUTO из окна
лупы — флаг остался взведён, и следующий случайный ЛКМ по панораме утаскивал
маяк на пустое место. Те же грабли были для наведения из web и CAT.

Снимаем в обработчике rfBeaconLock, как только BeaconDecodeFreqHz стал
ненулевым — кто навёл, роли не играет. FSpectrumDirty просим только в этот
момент: маркеры и так едут вместе с кадрами, а на стопе спектр статичен, дёргать
перерисовку 10 раз в секунду незачем.

Сборка ewsdr (--ws=qt6) — ОК.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-14 13:01:42 +03:00
co-authored by Claude Opus 5
parent 8569236214
commit c30c23a64b
+13 -1
View File
@@ -1661,7 +1661,19 @@ begin
PbSpectrum.Invalidate;
end;
rfBeaconLock:
UpdateBeaconButton; // статус/коррекция QO-100 beacon lock
begin
// Наведение ставит не только клик по спектру: есть AUTO в окне маяка,
// web и CAT. Как только декодер куда-то наведён — снимаем «вооружение»,
// иначе следующий случайный ЛКМ по панораме утащил бы маяк на пустое
// место. Перерисовку просим только в этот момент: маркеры и так едут с
// кадрами, а на стопе спектр статичен.
if FBeaconArming and (FController.BeaconDecodeFreqHz > 0) then
begin
FBeaconArming := False;
FSpectrumDirty := True;
end;
UpdateBeaconButton; // статус/коррекция QO-100 beacon lock
end;
rfCTun:
begin
StyleButton(BtnCTun, FController.FCTun);