diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 4a0ed4d2b556..e51933c79fe5 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2003-12-08 Fernando Nasser + + * java/awt/datatransfer/StringSelection.java (getTransferData): Return + object of type expected by specified DataFlavor. + 2003-12-08 Fernando Nasser * java/awt/datatransfer/DataFlavor.java (getParameter): Fix off-by-one diff --git a/libjava/java/awt/datatransfer/StringSelection.java b/libjava/java/awt/datatransfer/StringSelection.java index 6db74503bb3d..51addb7296c5 100644 --- a/libjava/java/awt/datatransfer/StringSelection.java +++ b/libjava/java/awt/datatransfer/StringSelection.java @@ -38,7 +38,7 @@ exception statement from your version. */ package java.awt.datatransfer; -import java.io.StringBufferInputStream; +import java.io.StringReader; import java.io.IOException; /** @@ -140,7 +140,15 @@ getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, if (!isDataFlavorSupported(flavor)) throw new UnsupportedFlavorException(flavor); - return(new StringBufferInputStream(data)); + if (DataFlavor.plainTextFlavor == flavor) + /* The behavior of this method for DataFlavor.plainTextFlavor and + equivalent DataFlavors is inconsistent with the definition of + DataFlavor.plainTextFlavor. We choose to do like Sun's implementation + and return a Reader instead of an InputString. */ + /* return(new StringBufferInputStream(data)); */ + return(new StringReader(data)); + else // DataFlavor.stringFlavor + return data; } /*************************************************************************/