aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/share/classes/java/awt/datatransfer/DataFlavor.java7
-rw-r--r--src/share/classes/sun/awt/datatransfer/TransferableProxy.java2
2 files changed, 7 insertions, 2 deletions
diff --git a/src/share/classes/java/awt/datatransfer/DataFlavor.java b/src/share/classes/java/awt/datatransfer/DataFlavor.java
index 9b917ce200..f3ab1bc496 100644
--- a/src/share/classes/java/awt/datatransfer/DataFlavor.java
+++ b/src/share/classes/java/awt/datatransfer/DataFlavor.java
@@ -26,6 +26,7 @@
package java.awt.datatransfer;
import sun.awt.datatransfer.DataTransferer;
+import sun.awt.datatransfer.TransferableProxy;
import sun.reflect.misc.ReflectUtil;
import java.io.ByteArrayInputStream;
@@ -844,8 +845,10 @@ public class DataFlavor implements Externalizable, Cloneable {
{
Object transferObject = transferable.getTransferData(this);
if (transferObject == null) {
- throw new IllegalArgumentException
- ("getTransferData() returned null for " + transferable.getClass());
+ throw new IllegalArgumentException("getTransferData() returned null for " +
+ (transferable instanceof TransferableProxy
+ ? ("TransferableProxy[" + ((TransferableProxy)transferable).getDelegate().getClass() + "]")
+ : transferable.getClass()));
}
if (transferObject instanceof Reader) {
diff --git a/src/share/classes/sun/awt/datatransfer/TransferableProxy.java b/src/share/classes/sun/awt/datatransfer/TransferableProxy.java
index ac79ecf712..a508e46001 100644
--- a/src/share/classes/sun/awt/datatransfer/TransferableProxy.java
+++ b/src/share/classes/sun/awt/datatransfer/TransferableProxy.java
@@ -98,6 +98,8 @@ public class TransferableProxy implements Transferable {
return data;
}
+ public Transferable getDelegate() { return transferable; }
+
protected final Transferable transferable;
protected final boolean isLocal;
}