Skip to content

Prevent Qt aborts while applying settings - #12

Merged
luinbytes merged 2 commits into
mainfrom
t3code/fix-settings-crash
Sep 1, 2026
Merged

Prevent Qt aborts while applying settings#12
luinbytes merged 2 commits into
mainfrom
t3code/fix-settings-crash

Conversation

@luinbytes

Copy link
Copy Markdown
Owner

Summary

  • keep Python exceptions inside the Settings Apply signal boundary so PyQt does not terminate through qFatal
  • persist selected settings before refreshing Qt and audio objects, allowing restart recovery
  • add a subprocess regression that clicks the real Apply button, injects a runtime failure, verifies the process survives, and verifies sound-off persists
  • gate release packaging on the test suite and restrict publication to v* tags

Evidence

  • Before fix: the regression process aborted twice with exit 134 after the Apply callback raised
  • Local: python -m unittest discover tests -v -> 23 tests, 2 expected skips
  • Windows preflight: PyQt5 5.15.10 / Qt 5.15.2, 23 tests with the Apply regression passing, then successful BongoCat-windows-x64.exe build
  • Full preflight: Windows, macOS, and Linux tests and package builds passed in run 33548715273

Addresses #10. The issue stays open pending reporter validation of the packaged Windows release.

@luinbytes
luinbytes merged commit 4df56ca into main Sep 1, 2026
4 checks passed
@luinbytes

Copy link
Copy Markdown
Owner Author

Merged as 4df56ca873ffad68e64576547b4f61a1cf5b8353.

Verification:

  • Red repro before the fix: the real Apply button aborted the Qt subprocess with exit 134 twice when a runtime operation raised.
  • Local: QT_QPA_PLATFORM=offscreen python -m unittest discover tests -v -> 23 tests passed, 2 expected skips.
  • Workflow validation: actionlint .github/workflows/release.yml passed.
  • Windows-latest preflight used PyQt5 5.15.10 / Qt 5.15.2; the Apply regression passed, all 23 tests passed with 1 expected skip, and BongoCat-windows-x64.exe built successfully.
  • macOS and Linux tests and package builds also passed.
  • Preflight run: https://github.com/luinbytes/bongocat/actions/runs/33548715273

Caveat: issue #10 remains open until the reporter validates the packaged candidate on Windows 11 24H2.

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.

1 participant