Correct initialization of image smooth scaling capability #2979
+6
−19
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.
Smooth scaling of images is currently enabled in an OS-dependent way. An according provider is registered in DPIUtil by the OS-specific DPI utility classes. This is overly complex and, more severely, not correct. The provider is registered via the static initializers of the OS-specific DPI utility classes, but they may never be used or at least not before images are scaled for the first time. In such cases, the provider may not be registered as the class loader has never initialized the class.
This change moves the smooth-scaling initialization to the DPIUtil class, simplifying the code and reducing the risk of faulty behavior because of missing class loading of OS-dependent utility classes.