<AWT Dev> Integrated: 8257414: Drag n Drop target area is wrong on high DPI systems

Olga Mikhaltsova omikhaltcova at openjdk.java.net
Tue Mar 2 01:00:42 UTC 2021


On Tue, 29 Dec 2020 20:56:06 GMT, Olga Mikhaltsova <omikhaltcova at 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 <omikhaltcova at openjdk.org>
Committer: Sergey Bylokhov <serb at 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


More information about the awt-dev mailing list