Hi Everyone,
This is a forward port from jdk 7u4:
http://hg.openjdk.java.net/jdk7u/jdk7u4-dev/jdk/rev/91ede930328c

Deadlock happens when 2 threads lock delegateLock and DefaultCaret object in different order. Removed code initially was added to stop recursion between paintPeer and addDirtyRegion( repaintPeer()->paintPeer()->print()->addDirtyRegion()->repaintPeer()-> etc), but it is impossible now because repaintPeer() asynchronous.

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7149913
Webrev can be found at: http://cr.openjdk.java.net/~serb/7149913/webrev.00/

--
Best regards, Sergey.

Reply via email to