Work around OpenFileDialog always showing all shortcuts despite filters #4168
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The popup to add a game instance is only supposed to let the user choose game executable files of known games, but it always shows all shortcuts:
If you choose one of these and try to use it to add a game instance, you get a (quite funny) "Catastrophic failure" message:
Reported by @PoofImAlex in #4167.
Cause
This seems to be just how
OpenFileDialog
"works". I'm sure there's some obscure rationale for it in some Microsoft document somewhere, but it is truly inappropriate and in need of fixing in our case.Changes
It seems to be impossible to hide shortcuts, so instead we hook into the
FileOk
event and reject any files that don't match the filter that we already gave toOpenFileDialog
but which it decided to partially ignore: