Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

'Failed to retrieve atom name' when using a ClipboardOwner. How do I fix this?

3438620Apr 24 2017 — edited Apr 24 2017

I have a 'clipboard listener' similar to the one here: java - calling a method when content of clipboard is changed - Stack Overflow.

I am using Linux and when I copy text from a program that uses the mono(.NET) interpreter(like KeePaass2) my Java program loses it's ability to 'listen' to the clipboard and I get this stack trace:

java.lang.NullPointerException: Failed to retrieve atom name.

  at sun.awt.X11.XlibWrapper.XGetAtomName(Native Method)

  at sun.awt.X11.XAtom.getName(XAtom.java:186)

  at sun.awt.X11.XDataTransferer.getTargetNameForAtom(XDataTransferer.java:165)

  at sun.awt.X11.XDataTransferer.getNativeForFormat(XDataTransferer.java:154)

  at sun.awt.datatransfer.DataTransferer.getFlavorsForFormats(DataTransferer.java:736)

  at sun.awt.datatransfer.ClipboardTransferable.<init>(ClipboardTransferable.java:90)

  at sun.awt.X11.XClipboard.getContents(XClipboard.java:108)

  at ClipPlay.ClipBoardListener.lostOwnership(ClipBoardListener.java:60)

  at sun.awt.datatransfer.SunClipboard.lostOwnershipNow(SunClipboard.java:313)

  at sun.awt.datatransfer.SunClipboard.lambda$lostOwnershipLater$0(SunClipboard.java:283)

  at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)

  at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)

  at java.awt.EventQueue.access$500(EventQueue.java:97)

  at java.awt.EventQueue$3.run(EventQueue.java:709)

  at java.awt.EventQueue$3.run(EventQueue.java:703)

  at java.security.AccessController.doPrivileged(Native Method)

  at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

  at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)

  at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

  at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

  at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

  at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

How do I fix this? At the moment I am just haneling the exception and macking my program crash but there must be a better way.

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 22 2017
Added on Apr 24 2017
0 comments
573 views