> 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.

SWinxy has updated the pull request with a new target base due to a merge or a 
rebase. The incremental webrev excludes the unrelated changes brought in by the 
merge/rebase. The pull request contains five additional commits since the last 
revision:

 - BasicPanelUI uninstalling font causes cascading problems
 - Merge branch 'master' into 8278620
 - Sync with CSR
   
   Only difference is that I added an Oxford comma
 - Accidental imports added
 - 8278620: properties installed by javax.swing.LookAndFeel installColors and 
installColorsAndFont are not uninstalled
   
   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.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/10565/files
  - new: https://git.openjdk.org/jdk/pull/10565/files/009855eb..1939190c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10565&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10565&range=01-02

  Stats: 529603 lines in 8460 files changed: 259868 ins; 165030 del; 104705 mod
  Patch: https://git.openjdk.org/jdk/pull/10565.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10565/head:pull/10565

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

Reply via email to