The issue is recorded under id JDK-8160941 "text/uri-list" dataflavor concats the first two strings
    https://bugs.openjdk.java.net/browse/JDK-8160941

The webrev is uploaded to http://cr.openjdk.java.net/~alexsch/robin.stevens/8160941/webrev.00

  Thanks,
  Alexandr.

On 7/7/2016 10:10 AM, Robin Stevens wrote:
Hello,

the backport of the fix for https://bugs.openjdk.java.net/browse/JDK-8136763 looks incorrect.
The corresponding manual test case fails on jdk8.

The problem: when copy-pasting (or drag-and-dropping) multiple files, the data in the transferable for the flavor "text/uri-list" concats the first two paths.

If you for example copy:
/Users/robin/Desktop/file1.txt
/Users/robin/Desktop/file2.txt
/Users/robin/Desktop/file3.txt

the data in the transferable is

/Users/robin/Desktop/file1.txt/Users/robin/Desktop/file2.txt
/Users/robin/Desktop/file3.txt

while the expected data is

/Users/robin/Desktop/file1.txt
/Users/robin/Desktop/file2.txt
/Users/robin/Desktop/file3.txt


This is also what you can observe when running the manual testcase.

I have logged this in the bug database as issue JI-9041413.

Attached you find a webrev with the proposed patch.
The manual testcase succeeds with this patch, and fails without.
At the bottom of this email, you also find the output of hg diff.

The patch does not include a testcase, as there is already one available.

Regards,

Robin


hg diff output:

diff -r 0844fa517c35 src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java --- a/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.javaTue Jul 05 11:03:13 2016 -0700 +++ b/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.javaThu Jul 07 08:48:37 2016 +0200
@@ -148,6 +148,7 @@
             StringBuilder sb = new StringBuilder();
             if(strings.length > 0) {
                 sb.append(strings[0]);
+                sb.append(separator);
                 for(int i = 1; i < strings.length; i++) {
                     sb.append(strings[i]);
                     sb.append(separator);

Reply via email to