Hi, Petr,
the fix looks fine. Please, move clearLightweightDispatcherOnRemove()
into the synchronized section, as lightweight dispatcher is used under
tree lock.
As Sergey suggested, it would be fine to have a regression test for this
change.
Thanks,
Artem
On 12/21/2012 4:50 PM, Petr Pchelko wrote:
Hello.
Could you please review the fix for the issue
7079254 Toolkit eventListener leaks memory
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7079254
The webrev is available at:
http://cr.openjdk.java.net/~art/pchelko/7079254/webrev/
The LightweightDispatcher stored strong references to mouseEventTarget and
targetLastEntered which were not cleaned up when the component is removed,
which lead to a memory leak. The isCleaned field is added to be able to consume
events which would be dispatched to a removed component if we did not clean up
a reference to it.
The fix testet on Windows and Mac on toy apps and automatic regression tests
related to event dispatching, Component, Container, dnd and Mouse
Best, Petr.