Fix c4df0f95: bootstrap was only showing a black screen #8788
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.
Fixes #8785
Tnx to @PeterN for triage.
Motivation / Problem
Bootstrap wasn't working. Now it is.
Description
Over the years we collected various of ways of doing "modal" windows, where two use HasModalProgress (but are implemented differently) and one, as it turns out, uses a completely different method. This confused the new video-driver code.
This fix is just a quick-fix, as this non-sense should be resolved properly ;) Mostly, these exceptions are here as when you press "Exit to Main Menu" the window asking for confirmation is removed before your game-mode is switched, leave you in-game with a non-responsive interface, being confused. So this code in question keeps the confirmation dialog visible, while the game switched to a new mode.
The more proper fix is to show a dialog: "Exiting game ...", and let the drawing continue. This also, not now but in future iterations, would make it possible to keep the mouse responsive.
But, both solutions are not there yet, and require more refactoring of video-driver related code. I would consider that unlikely to hit 1.11, hence this fix to at least make bootstrap work again. A hack on a hack is still just a hack :D
Limitations
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.