Running on the August 2nd commit from the app veyor release folder. When I click to configure any key (keyboard or Xbox One Controller connect via usb) Cxbx hangs, then crashes.
You really should be posting issues with the latest build... Now try deleting the Cxbx-Reloaded registry folder and then test again (pretty much a go-to with anything involving settings) and I feel like when I tried to config controls it hung for me as well, but when I was patient and waited the issue resolved itself :)
I am running the latest automated build: it just came out yesterday. After I enabled Xinput it worked perfectly. I'll keep this open but my Xbox One Controller is working
Oh yeah, if you exclude PRs it's been a day since the last commit to master, sorry my bad :)
Maybe keep setting in config file, not in registry? So if you download new version you will get clean emulator. If you need old settings - just copy from old version.
The settings do carry over from version to version
The issue is that at run-time, settings are stored in shared memory between the GUI and the Emulator process, so both can read them. Occasionally, when the emulator crashes, this shared memory becomes corrupted, and still gets written to the registry. The result is broken settings.
A solution could be to page-protect the shared memory as read only, except when we specifically wish to write to it. This will greatly reduce the chance of corruption.
Or split it up in a few parts:
Closing this issue as #1312 will solve the problem
Most helpful comment
The issue is that at run-time, settings are stored in shared memory between the GUI and the Emulator process, so both can read them. Occasionally, when the emulator crashes, this shared memory becomes corrupted, and still gets written to the registry. The result is broken settings.
A solution could be to page-protect the shared memory as read only, except when we specifically wish to write to it. This will greatly reduce the chance of corruption.