[Win32] Avoid broken UI when DPI change handler fails #2432 #2433
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.
In case a DPI change handler fails with an exception, the complete rescaling process may fail. As an example, it may happen that an image set to an Item has already been disposed when a DPI change event occurs, but the DPI change handler still tries to set that image on the item again, leading to an exception because of the image being disposed.
This change ensures that an exception happening when processing a DPI change handler does not result in a complete rescaling failure and instead reports the listener error to the Display.
Contributes to #2432