]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commit
od-unix: fix config values lost in the Qt launcher round trip
authorStefan Reinauer <stefan.reinauer@coreboot.org>
Fri, 12 Jun 2026 07:21:03 +0000 (00:21 -0700)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Wed, 17 Jun 2026 19:24:40 +0000 (12:24 -0700)
commitd6d3fa65cf64b5117ce200f77432caa65d7f2c30
treebbb90d48ab9e3fc8def71e5a9744a2da3f3f9779
parent38a54f7dc4ded94f09ad25de4fb214927d973d97
od-unix: fix config values lost in the Qt launcher round trip

Loading a configuration file could silently change it (GitHub issue #1,
"CPU and RAM are often not the ones I set"):

- The chipset_compatible handler synced the quickstart model combo
  without blocking its signals, so loading any config with a
  chipset_compatible value re-applied the whole quickstart model preset
  over the explicit settings (FPU, compatibility flags, floppy count).
- FpuInternal was -1, which QButtonGroup treats as auto-assign and
  checkedId() returns for "no selection": the CPU-internal FPU button
  could never be selected programmatically, so fpu_model vanished from
  every 68040/68060 configuration on save, start, and each F12 visit.
- nr_floppies had no load handler, so drive-enable states never
  followed the loaded config.

Configs without a quickstart line also no longer gain a synthesized
quickstart key: quickstart mode now turns off when loading a full
configuration and is re-enabled by an explicit quickstart setting.

Verified by a new roundtrip harness: WINUAE_QT_CONFIG_ROUNDTRIP_OUT
makes the launcher load the given config, export the merged config, and
exit; unix-smoke-config-roundtrip.sh (in winuae_unix_smoke_basic)
compares CPU/FPU/MMU/memory/floppy keys across three machine profiles.
CMakeLists.txt
od-unix/qt/launcher.cpp
tools/unix-smoke-config-roundtrip.sh [new file with mode: 0755]