# HG changeset patch # User psadhukhan # Date 1502342179 -19800 # Node ID 9ccac4332a211f3b9be49dfa519005dbef1b5505 # Parent 948b0623c6d6b6eba83e061b1d3e8bdf4188fc91 8185890: Intermittent NPE in JLightweightFrame when updating cursor aceoss multiple graphics devices Reviewed-by: azvegint diff -r 948b0623c6d6 -r 9ccac4332a21 jdk/src/java.desktop/share/classes/sun/swing/JLightweightFrame.java --- a/jdk/src/java.desktop/share/classes/sun/swing/JLightweightFrame.java Thu Aug 10 10:41:04 2017 +0530 +++ b/jdk/src/java.desktop/share/classes/sun/swing/JLightweightFrame.java Thu Aug 10 10:46:19 2017 +0530 @@ -509,7 +509,16 @@ * and could not be overridden. */ private void updateClientCursor() { - Point p = MouseInfo.getPointerInfo().getLocation(); + PointerInfo pointerInfo = MouseInfo.getPointerInfo(); + if (pointerInfo == null) { + /* + * This can happen when multiple graphics device cannot decide + * which graphics device contains the current mouse position + * or on systems without a mouse + */ + return; + } + Point p = pointerInfo.getLocation(); SwingUtilities.convertPointFromScreen(p, this); Component target = SwingUtilities.getDeepestComponentAt(this, p.x, p.y); if (target != null) {