> 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.
Olga Mikhaltsova has updated the pull request incrementally with one additional commit since the last revision: 8257414: Drag n Drop target area is wrong on high DPI systems ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1907/files - new: https://git.openjdk.java.net/jdk/pull/1907/files/e4c1c73d..d8259bdf Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1907&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1907&range=01-02 Stats: 32 lines in 1 file changed: 2 ins; 17 del; 13 mod Patch: https://git.openjdk.java.net/jdk/pull/1907.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1907/head:pull/1907 PR: https://git.openjdk.java.net/jdk/pull/1907