On Tue, 29 Dec 2020 20:56:06 GMT, Olga Mikhaltsova <omikhaltc...@openjdk.org> wrote:
> Please, review this small fix for drag-n-drop on Linux with HiDPI turned on! > > This bug is due to the following reason: while scaling Java recalculates > resolution (W x H) according to sun.java2d.uiScale (W/SCALE x H/SCALE) and > works inside these new coordinates but at the same time the events, that come > from the system, continue reporting positions in the old coordinates (W x H). > > The idea of the suggested fix is in division of coordinates on the scale when > they come from the system to Java and multiplying them on the scale when they > go back from Java to the system. It is similar to processing events from > mouse and buttons. > > Testing is quite complicated because for reproducing this bug the following > conditions should be met: > 1. HiDPI is turned on > 2. sun.java2d.uiScale.enabled = true and sun.java2d.uiScale != 100% > 3. the source of drag-n-drop is non-java application > > The step-by-step guide how to reproduce this bug is added to > https://bugs.openjdk.java.net/browse/JDK-8257414. This pull request has now been integrated. Changeset: d3398324 Author: Olga Mikhaltsova <omikhaltc...@openjdk.org> Committer: Sergey Bylokhov <s...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/d3398324 Stats: 31 lines in 2 files changed: 26 ins; 0 del; 5 mod 8257414: Drag n Drop target area is wrong on high DPI systems Reviewed-by: serb ------------- PR: https://git.openjdk.java.net/jdk/pull/1907