Mac OS X: Fixed potential NPE in AWTUtil.getPointerLocation
This commit is contained in:
parent
450634c49c
commit
3f4f832669
|
@ -39,6 +39,7 @@ import java.awt.Component;
|
||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.GraphicsDevice;
|
import java.awt.GraphicsDevice;
|
||||||
|
import java.awt.GraphicsConfiguration;
|
||||||
import java.awt.IllegalComponentStateException;
|
import java.awt.IllegalComponentStateException;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.Robot;
|
import java.awt.Robot;
|
||||||
|
@ -115,11 +116,14 @@ final class AWTUtil {
|
||||||
final Method getLocation_method = PointerInfo_class.getMethod("getLocation", null);
|
final Method getLocation_method = PointerInfo_class.getMethod("getLocation", null);
|
||||||
return (Point)AccessController.doPrivileged(new PrivilegedExceptionAction() {
|
return (Point)AccessController.doPrivileged(new PrivilegedExceptionAction() {
|
||||||
public final Object run() throws Exception {
|
public final Object run() throws Exception {
|
||||||
|
GraphicsConfiguration config = component.getGraphicsConfiguration();
|
||||||
|
if (config != null) {
|
||||||
Object pointer_info = getPointerInfo_method.invoke(null, null);
|
Object pointer_info = getPointerInfo_method.invoke(null, null);
|
||||||
GraphicsDevice device = (GraphicsDevice)getDevice_method.invoke(pointer_info, null);
|
GraphicsDevice device = (GraphicsDevice)getDevice_method.invoke(pointer_info, null);
|
||||||
if (device == component.getGraphicsConfiguration().getDevice()) {
|
if (device == config.getDevice()) {
|
||||||
return (Point)getLocation_method.invoke(pointer_info, null);
|
return (Point)getLocation_method.invoke(pointer_info, null);
|
||||||
} else
|
}
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue