summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/awt/datatransfer/StringSelection.java12
2 files changed, 15 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 4a0ed4d2b55..e51933c79fe 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,10 @@
2003-12-08 Fernando Nasser <fnasser@redhat.com>
+ * java/awt/datatransfer/StringSelection.java (getTransferData): Return
+ object of type expected by specified DataFlavor.
+
+2003-12-08 Fernando Nasser <fnasser@redhat.com>
+
* java/awt/datatransfer/DataFlavor.java (getParameter): Fix off-by-one
error which was clipping off the first character of a parameter value.
diff --git a/libjava/java/awt/datatransfer/StringSelection.java b/libjava/java/awt/datatransfer/StringSelection.java
index 6db74503bb3..51addb7296c 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;
}
/*************************************************************************/
OpenPOWER on IntegriCloud