diff -r e9b05e933ddd -r 508779ce6619 jdk/src/java.desktop/share/classes/java/awt/datatransfer/Clipboard.java --- a/jdk/src/java.desktop/share/classes/java/awt/datatransfer/Clipboard.java Mon Aug 18 14:03:21 2014 +0100 +++ b/jdk/src/java.desktop/share/classes/java/awt/datatransfer/Clipboard.java Tue Aug 19 10:32:16 2014 -0700 @@ -25,7 +25,7 @@ package java.awt.datatransfer; -import java.awt.EventQueue; +import sun.datatransfer.DataFlavorUtil; import java.util.Objects; import java.util.Set; @@ -130,7 +130,8 @@ this.contents = contents; if (oldOwner != null && oldOwner != owner) { - EventQueue.invokeLater(() -> oldOwner.lostOwnership(Clipboard.this, oldContents)); + DataFlavorUtil.getDesktopService().invokeOnEventThread(() -> + oldOwner.lostOwnership(Clipboard.this, oldContents)); } fireFlavorsChanged(); } @@ -324,7 +325,7 @@ return; } flavorListeners.forEach(listener -> - EventQueue.invokeLater(() -> + DataFlavorUtil.getDesktopService().invokeOnEventThread(() -> listener.flavorsChanged(new FlavorEvent(Clipboard.this)))); }