diff -r 3f2477ebb708 -r 37f0c586ba99 jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java --- a/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java Fri Mar 30 18:10:05 2012 +0400 +++ b/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java Sat Mar 31 16:55:56 2012 +0800 @@ -168,6 +168,8 @@ public void dispose() { XToolkit.specialPeerMap.remove(jtext); + // visible caret has a timer thread which must be stopped + jtext.getCaret().setVisible(false); jtext.removeNotify(); textPane.removeNotify(); super.dispose();