Skip to content

Fix missing HAVE_SERIALPORT guard on m_flexCoalesceTimer (#1606 partial)#1812

Merged
ten9876 merged 1 commit into
aethersdr:mainfrom
NF0T:fix/have-serialport-coalesce-guard
Apr 21, 2026
Merged

Fix missing HAVE_SERIALPORT guard on m_flexCoalesceTimer (#1606 partial)#1812
ten9876 merged 1 commit into
aethersdr:mainfrom
NF0T:fix/have-serialport-coalesce-guard

Conversation

@NF0T

@NF0T NF0T commented Apr 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

PR #1606 guarded m_hidCoalesceTimer behind #ifdef HAVE_HIDAPI but left m_flexCoalesceTimer unguarded on the line immediately above. m_flexCoalesceTimer is declared inside #ifdef HAVE_SERIALPORT in MainWindow.h (line 217), so the unguarded reference in MainWindow.cpp breaks any build where HAVE_SERIALPORT is not defined — specifically Windows without Qt6::SerialPort installed.

Before (broken):

bool activeTuning = m_flexCoalesceTimer.isActive();  // ← unguarded
#ifdef HAVE_HIDAPI
activeTuning = activeTuning || m_hidCoalesceTimer.isActive();
#endif

After:

bool activeTuning = false;
#ifdef HAVE_SERIALPORT
activeTuning = activeTuning || m_flexCoalesceTimer.isActive();
#endif
#ifdef HAVE_HIDAPI
activeTuning = activeTuning || m_hidCoalesceTimer.isActive();
#endif

This was flagged in a comment on #1606 at the time of merge.

Test plan

  • Build on Windows without Qt6::SerialPort — previously failed with 'm_flexCoalesceTimer' was not declared in this scope, now compiles clean
  • Build on Linux (HAVE_SERIALPORT defined) — no change in behaviour

🤖 Generated with Claude Code

…thersdr#1606 partial)

Upstream PR aethersdr#1606 guarded m_hidCoalesceTimer behind HAVE_HIDAPI but left
m_flexCoalesceTimer unguarded. Wrap it in HAVE_SERIALPORT to match the
header declaration and fix Windows builds without serial port support.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@NF0T NF0T requested a review from ten9876 as a code owner April 21, 2026 14:36

@aethersdr-agent aethersdr-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Clean, minimal fix.

Verified:

  • m_flexCoalesceTimer is declared inside #ifdef HAVE_SERIALPORT in MainWindow.h:214-220 — the unguarded reference at line 5692 is indeed a build break without Qt6::SerialPort.
  • All other usages of m_flexCoalesceTimer (lines 1804–1849) are already inside the HAVE_SERIALPORT block — this was the only stray reference.
  • The bool activeTuning = false + conditional OR pattern matches the existing HAVE_HIDAPI guard style on the line below, keeping things consistent.
  • Single file changed, tightly scoped to the stated issue — nothing outside the PR's scope.

No issues found. Thanks for catching this @NF0T, and for the clear before/after in the PR description.

@ten9876 ten9876 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — matches the HAVE_HIDAPI guard pattern on the line below. Clean fix for the Windows build break.

@ten9876 ten9876 merged commit 1b051f6 into aethersdr:main Apr 21, 2026
5 checks passed
ten9876 added a commit that referenced this pull request Apr 22, 2026
)

Cuts a community-contribution-heavy point release. Eight community PRs
landed plus three AetherClaude crash fixes. Highlights:

Community:
- Fix RADE RX not decoding on Windows (#1820, NF0T)
- Clamp stale DAX RX backlog on macOS — fixes +1.5s FT8 DT bias (#1822, jensenpat)
- Fix TCI DAX resampler crosstalk between slices (#1815, Chaosuk97)
- Fix RX applet pan slider with NR active (#1799, Chaosuk97)
- Fix TCI RX gain default 1.0 → 0.5 to match applet (#1811, NF0T)
- Fix HAVE_SERIALPORT guard (#1812, NF0T)
- Seamless ADIF logbook auto-reload (#1801, Chaosuk97)
- RAC Canada band-plan corrections (#1817, VE3NEM)

AetherClaude crash fixes:
- Applet reorder with floating containers (#1745#1746)
- Lazy-build RadioSetupDialog tabs, dodges Wayland FFmpeg/VDPAU crash (#1776#1777)
- PanAdapter float-freeze — show-after-reset + direct reparent (#1668#1669)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@NF0T NF0T deleted the fix/have-serialport-coalesce-guard branch April 22, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants