]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commit
od-unix: persist host settings in winuae.ini
authorStefan Reinauer <stefan.reinauer@coreboot.org>
Fri, 12 Jun 2026 07:03:14 +0000 (00:03 -0700)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Wed, 17 Jun 2026 19:24:40 +0000 (12:24 -0700)
commit38a54f7dc4ded94f09ad25de4fb214927d973d97
tree284e98f4641bdd63a6f9f4515271df9829eff893
parentaf9633a6e02e0de1cdb244f77052f1e9877ff795
od-unix: persist host settings in winuae.ini

The Unix port had no equivalent of the Windows registry/winuae.ini
store: the Qt Paths page reverted to hardcoded defaults on every start
(GitHub issue #2).

Port the ini-file mode of the od-win32 registry abstraction into
od-unix/registry.cpp on top of the shared ini.cpp, with the same
registry.h API. The store resolves to winuae.ini next to the executable
when present (portable mode, matching Windows), otherwise
$XDG_CONFIG_HOME/winuae/winuae.ini on Linux and
~/Library/Application Support/WinUAE/winuae.ini on macOS; the
WINUAE_INI environment variable overrides the location.

The Qt launcher loads the Paths page directories and flags from the
store and saves them when the dialog closes, through new host-setting
hooks on the provider struct. The core path fetchers consult the stored
values between per-config unix.*_path overrides and the built-in
defaults, so the configured directories also apply outside the GUI.
Settings flush on dialog close and at gui_exit.

Covered by winuae_unix_registry_test (value types, subtrees,
enumeration, deletion, and persistence across reopen).
CMakeLists.txt
README_unix.md
od-unix/config.cpp
od-unix/gui.cpp
od-unix/qt/launcher.cpp
od-unix/qt/launcher.h
od-unix/qt/launcher_bridge.cpp
od-unix/registry.cpp [new file with mode: 0644]
od-unix/registry.h [new file with mode: 0644]
od-unix/registry_test.cpp [new file with mode: 0644]