Currently we usually just don't check loaded options
values before using them.
This works most of the time and for most users. However
it is possible that we get invalid value for some
reason. This can cause some very weird bugs.
Some situations when invalid values can happen are:
- new WinMerge version changes option value range
(should really not happen, but it is possible)
- user changes values by hand to registry
- installer bug - invalid value gets written/removed/...
- WinMerge bug - writes invalid value
So we should protect ourselves from these situations
and do sanity check for loaded options values before
using them. Problem is where to do that check?
InitOptions.cpp sounds natural place, but that file
doesn't have any idea about valid values..
Log in to post a comment.