On Tue, 4 Oct 2022 22:52:30 GMT, SWinxy <d...@openjdk.org> wrote:

> Many `installDefaults` methods set the font, foreground, and background on 
> objects but their inverse methods `uninstallDefaults` do not remove them. 
> I've added an inverse method to remove the colors and font to call for the 
> `uninstallDefaults` methods that install defaults.
> 
> `AquaButtonUI` can call its super since it would otherwise be repeated code. 
> `BasicComboBoxUI` (weirdly) installs the properties again when it should be 
> uninstalling them, so I changed.
> 
> I noticed that, in a few subclasses, only one of calls to the super of 
> `installDefaults` and `uninstallDefaults` are made. That is, an overridden 
> `installDefaults` may call its super while the overridden `uninstallDefaults` 
> does not call its super (or vise versa). These classes are: 
> `AquaTabbedPaneUI`, `SynthMenuItemUI`, `SynthSplitPaneUI`, and 
> `XTextAreaPeer`.
> 
> Sorry I couldn't write a test; I wasn't sure how I should have accessed the 
> protected variable aside from creating extending classes for each class that 
> changed.
> 
> See also #6603, where this issue was discovered.

Same as Alexey. It looks OK. I was not sure about new public API for the 
convenience method but
we aleady have precedent for these on LookAndFeel.
Any BACKPORT would have to be different.
I'd like to hear the results of Alexey's testing as the next step.

-------------

PR: https://git.openjdk.org/jdk/pull/10565

Reply via email to