diff --git a/src/share/classes/sun/awt/datatransfer/DataTransferer.java b/src/share/classes/sun/awt/datatransfer/DataTransferer.java index 83a73dbd51c4525c0ecb5bfed40e6077ec91febd..493d80a4c829d81c27343aefa72024287c69be65 100644 --- a/src/share/classes/sun/awt/datatransfer/DataTransferer.java +++ b/src/share/classes/sun/awt/datatransfer/DataTransferer.java @@ -1765,7 +1765,14 @@ search: Reader reader = new InputStreamReader(is, unicode); theObject = constructFlavoredObject(reader, flavor, Reader.class); - + // Target data is a byte array + } else if (byteArrayClass.equals(flavor.getRepresentationClass())) { + if(isFlavorCharsetTextType(flavor) && isTextFormat(format)) { + theObject = translateBytesToString(inputStreamToByteArray(str), format, localeTransferable) + .getBytes(DataTransferer.getTextCharset(flavor)); + } else { + theObject = inputStreamToByteArray(str); + } // Target data is an RMI object } else if (flavor.isRepresentationClassRemote()) {