You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 750afb1
Browse filesBrowse the repository at this point in the historyBrowse files
Fix registry handling for NVDA automatic startup settings (#20864)
Summary of the issue:
Saving automatic startup settings fails when the Accessibility registry key is missing.
Registry read failures are also treated as empty configuration. This can skip a requested change or overwrite existing entries if a subsequent write succeeds. Some save failures interrupt saving the remaining settings.
Description of user facing changes:
NVDA can save startup settings when the registry key is missing. General settings and the Welcome dialog report failed startup changes and continue saving other options.
Description of developer facing changes:
Startup setters now report registry read errors and non-string configuration through OSError and TypeError, respectively.
Description of development approach:
Use CreateKeyEx when writing. Microsoft documents that RegOpenKeyEx does not create missing keys, whereas RegCreateKeyEx creates or opens them.
Treat only a missing key or value as empty configuration. Other read errors stop that write attempt. Microsoft documents Configuration as a comma-separated list to which applications append their names; treating an unread list as empty risks losing existing entries.
Remove setter checks based on fallback query results and retry permission errors with elevation. Submit startup options only after user interaction, preventing fallback display values from triggering unintended changes.
0 commit comments