9 Commits
Author SHA1 Message Date
Siegfried Pammer 9a4b8e3012 Fix #2919: keep a settings file that cannot be parsed
ILSpy.xml is the only copy of everything a user puts in it - assembly
lists above all, which people build up over years and, as the report
shows, edit by hand. A file that fails to parse was replaced by defaults
on the next save, which happens for something as incidental as a window
position, so the data was gone before the user had a chance to notice
anything was wrong.

The file is now moved aside first, under a name that says what it is, and
an earlier copy is never replaced: two bad starts in a row must not cost
the file that still has the data. A typo in hand-written XML is usually
one edit away from readable, so what matters is that it still exists.

Telling the user is still not solved - that needs somewhere central to
report it from, which the settings do not have yet - but the file is
recoverable, and its name says why it is there.

Assisted-by: Claude:claude-opus-5:Claude Code
2026-09-04 14:40:46 +02:00
Siegfried Pammer 9d38e6c962 Share one MutexProtector between settings and the bookmark list
BookmarkManager carried a byte-for-byte copy of ILSpySettings' private
MutexProtector, both guarding read-modify-write of a config sidecar in the same
settings directory so parallel ILSpy instances fold their edits in turn instead
of clobbering each other. Promote it to a single public type in
ICSharpCode.ILSpyX.Settings so the locking semantics live in one place.

Assisted-by: Claude:claude-opus-4-8:Claude Code
2026-06-30 01:43:00 +02:00
Siegfried Pammer e02097dccf Replace ISettingsFilePathProvider with Func<string> and move IResourceFileHandler to ILSpyX. 2026-06-08 07:34:42 +02:00
Peter Crabtree e1e16b64f5 dev: Strip BOM mark from text files 2025-08-28 20:56:19 -04:00
Siegfried Pammer bf5249be2b Add --ilspy-settingsfile and -ds|--decompiler-setting name=value options 2025-07-06 17:57:15 +02:00
Siegfried Pammer b6dc9fcfa9 Move more of the settings infrastructure to ILSpyX for reuse. 2025-07-06 17:39:06 +02:00
tom-englert 2454cd3a99 Consolidate all options/settings to use a consistent WFP MVVM pattern. 2024-09-14 14:29:31 +02:00
tom-englert 39b036b027 Remove more code from MainWindow, refactor startup sequence 2024-09-14 14:29:30 +02:00
Christoph Wille 003a2b45b4 Move Settings to ILSpyX (#2869)
* Move ILSpySettings to ILSpyX
* Make settings file path configurable using a static provider interface
* Move MiscSettings to ILSpyX, rename existing to MiscSettingsVieModel
* Introduce static Load for DecompilerSettings on interface
* Add path provider for ilspycmd parameter scenario
* Allow for saving of MiscSettingsPanel
* Rename DisplaySettings to DisplaySettingsViewModel
* Add SaveDecompilerSettings
2022-12-19 07:40:06 +01:00