Thanks Sergey for your review. I have added AquaComboBoxButton also in
the fix as the regression test fails for Aqua L&F.
http://cr.openjdk.java.net/~psadhukhan/6542439/webrev.1/
mach5 job link is in JBS.
Regards
Prasanta
On 22-Aug-20 8:27 AM, Sergey Bylokhov wrote:
Looks fine.
On 20.08.2020 06:54, Prasanta Sadhukhan wrote:
Hi All,
Please review a fix for an memory leak issue whereby the
BasicComboBoxUI uses a CellRenderer pane to paint the renderer component
retrieved via getListCellRenderer from the JList instance.
CellRendererPane paint the component but it never removes it from its
component hierarchy.
JCombobox can produce dynamic renderer component instances in
getListCellRenderer method. Each one of these instances
will linger in memory because it remains in the component hierarchy
of the CellRendererPane resulting in memory leak.
This is solved for JList in JDK-5044798
<https://bugs.openjdk.java.net/browse/JDK-5044798>.
The fix is now extended for BasicComboBoxUI where removeAll() of
components is done after all painting is done.
The JDK-5044798 <https://bugs.openjdk.java.net/browse/JDK-5044798>
regression testcase is used for JComboBox with all L&Fs and other
*ComboBoxUIs are fixed similarly.
Bug: https://bugs.openjdk.java.net/browse/JDK-6542439
webrev: http://cr.openjdk.java.net/~psadhukhan/6542439/webrev.0/
Regards
Prasanta