On Thu, 18 Jan 2024 02:48:26 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
wrote:

> As mentioned in the comment
> 
> https://github.com/openjdk/jdk/blob/36f4b34f1953af736706ec67192204727808bc6c/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTreeUI.java#L3283-L3284
> 
> the components are to be removed when UI changes, so I guess it is expected 
> to increase if UI is not changing (ie. in case tree is not visible) so I have 
> removed at end when component is uninstalled at which point it is a leak too, 
> if not removed..
> A testcase is hard to provide for this leak..it's all notional..

This is an interesting part… If the renderer component is added over and over 
again into `rendererPane` this creates a leak, especially if 
`currentCellRenderer.getTreeCellRendererComponent` returns a new component each 
time it's called.

To me, `rendererPane` should contain only one component — the one that's 
returned by appropriate cell renderer and that is currently used for painting, 
measuring etc.

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

PR Comment: https://git.openjdk.org/jdk/pull/17458#issuecomment-1905835853

Reply via email to