Hi.
This issue is related to windows only, but we change the shared code in
a way which can mislead someone, and the crash can be returned after
some refactoring, or when someone will call fillPointWithCoords() before
device initialization in some other place.
So it seems this code should be rewritten, am I missed something but it
looks like this method incorrectly work in case of scaled displays. I
guess fillPointWithCoords should return unscaled coords otherwise how we
will figure out what scale should be used there(screen)? Because at the
end of the method getPointerInfo we iterate over devices to find which
one is correct.
On 10/12/15 15:06, Alexander Scherbatiy wrote:
Hello,
Could you review the fix:
bug: https://bugs.openjdk.java.net/browse/JDK-8143316
webrev: http://cr.openjdk.java.net/~alexsch/8143316/webrev.00
The the native MouseInfo.fillPointWithCoords() method can access the
devices before they are initialized.
The fix moves the devices initialization before the
getMouseInfoPeer().fillPointWithCoords(point) call in the
getPointerInfo() method.
The MonitorFromPoint method is added to the native
fillPointWithCoords() method to find the device where the mouse cursor
is placed.
Thanks,
Alexandr.
--
Best regards, Sergey.