Also reported on bugs.sun.com with bug id 7199196.

Using either Oracle JRE 1.7.0_06-b24 or OpenJDK 1.7.0_07 under Ubuntu
12.04 OS, I cannot paste large amounts of
text in java applications. Running the same app with JRE 6 I can paste such
texts without any issue.

After some debugging I've found that the incremental transfer implemented
inside sun.awt.X11.XSelection.getData() method contains one typo that has been
introduced by this changeset:
http://hg.openjdk.java.net/jdk7u/jdk7u-gate/jdk/rev/6fd2d28e66cd

This changeset was required to ensure that isExecuted() is always performed
after the isDisposed() call , but one typo slipped in here: the second chunk
replaced incrDataGetter.isXXX() calls with validateDataGetter(dataGetter) .
But, as dataGetter is already disposed on line 342, the incremental transfer
operation will fail with an IOException: Owner failed to convert data.

I've attached the proposed patch to this e-mail.


Emil Goicovici

Attachment: XSelection-getData-typo.patch
Description: Binary data

Reply via email to