diff options
-rw-r--r-- | src/share/classes/java/awt/datatransfer/DataFlavor.java | 7 | ||||
-rw-r--r-- | src/share/classes/sun/awt/datatransfer/TransferableProxy.java | 2 |
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; } |