Skip to content

Lazy-build RadioSetupDialog tabs to fix Wayland crash on open (#1776)#1777

Merged
ten9876 merged 1 commit into
mainfrom
aetherclaude/issue-1776
Apr 22, 2026
Merged

Lazy-build RadioSetupDialog tabs to fix Wayland crash on open (#1776)#1777
ten9876 merged 1 commit into
mainfrom
aetherclaude/issue-1776

Conversation

@aethersdr-agent

Copy link
Copy Markdown
Contributor

Summary

Fixes #1776

What was changed

Lazy-build RadioSetupDialog tabs to fix Wayland crash on open (#1776)

Files modified

  • src/gui/RadioSetupDialog.cpp
  • src/gui/RadioSetupDialog.h
 src/gui/RadioSetupDialog.cpp | 47 +++++++++++++++++++++++++++++++++-----------
 src/gui/RadioSetupDialog.h   |  6 ++++++
 2 files changed, 42 insertions(+), 11 deletions(-)

Generated by AetherClaude (automated agent for AetherSDR)

Defer construction of all tabs except the default (Radio) until first
selected.  Hardware-probing calls in buildSerialTab (QSerialPortInfo)
and buildAudioTab (QMediaDevices) executed during the constructor were
crashing on native Wayland with Qt 6.11.  Lazy construction avoids
these calls until the user actually navigates to those tabs, and also
makes the dialog open faster.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@aethersdr-agent aethersdr-agent Bot mentioned this pull request Apr 20, 2026
2 tasks
@ten9876 ten9876 marked this pull request as ready for review April 22, 2026 00:46
@ten9876 ten9876 self-requested a review as a code owner April 22, 2026 00:46

@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.

Misidentifies root cause (real crash is libvdpau_va_gl from Packman non-free FFmpeg on Wayland — user config, not our bug), but the lazy tab pattern is a legitimate improvement on its own: faster dialog open, cleaner construction, no regressions. Audio tab will still crash for the reporter if they click it — that's a user system config issue to address separately.

@ten9876 ten9876 merged commit 0cd4559 into main Apr 22, 2026
5 checks passed
@ten9876 ten9876 deleted the aetherclaude/issue-1776 branch April 22, 2026 00:46
@rskunath

Copy link
Copy Markdown

All good now except for the audio tab crash. That is not a mis-configure but I'll create a new bug on this.

The noexecstack still fails without the -DCMAKE_EXE_LINKER_FLAGS="-Wl,-z,noexecstack but it does build with it.

I think we can close this now that it is tested.

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>
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.

More info on crashes

3 participants