diff --git a/jdk/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java b/jdk/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java index c137800b5ed..4753b2e5b61 100644 --- a/jdk/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java +++ b/jdk/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java @@ -57,6 +57,7 @@ import sun.awt.AppContext; import sun.awt.SunToolkit; import sun.awt.datatransfer.DataTransferer; import sun.awt.datatransfer.ToolkitThreadBlockedHandler; +import sun.security.util.SecurityConstants; /** *
@@ -216,6 +217,18 @@ public abstract class SunDropTargetContextPeer implements DropTargetContextPeer, throws UnsupportedFlavorException, IOException, InvalidDnDOperationException { + + SecurityManager sm = System.getSecurityManager(); + try { + if (!dropComplete && sm != null) { + sm.checkSystemClipboardAccess(); + } + } catch (Exception e) { + Thread currentThread = Thread.currentThread(); + currentThread.getUncaughtExceptionHandler().uncaughtException(currentThread, e); + return null; + } + Long lFormat = null; Transferable localTransferable = local;