<AWT Dev> [AWT Dev] [11] RFR JDK-8197926: java/awt/dnd/ImageTransferTest/ImageTransferTest.java doesnt close the windows in HiDPI setting

Jayathirth D V jayathirth.d.v at oracle.com
Wed Feb 14 10:36:56 UTC 2018

Hello All,


Please review the following fix in JDK11 :


Bug : https://bugs.openjdk.java.net/browse/JDK-8197926 

Webrev : http://cr.openjdk.java.net/~jdv/8197926/webrev.00/ 


Issue: If we enable HiDPi setting in Windows to approximately 125% or more, java/awt/dnd/ImageTransferTest/ImageTransferTest.java times out and doesn't dispose the created Java windows.


Root cause : In Windows because of default insets parameters, frames created in test case overlap and over that if we enable HiDPi setting the mouse drag and drop calculation is not proper and this results in time out and created frames are not disposed properly.


Solution: The default frame insets behave differently in different platforms(Windows, Unix & MacOS). Since the main objective of test case is to transfer image from one frame to another and validate, there is no need for us to have frame with insets. Making the frame Undecorated results in uniform behavior across all platforms and test case passes. I have verified the test case after change in Windows, Ubuntu and MacOS and there are no side effects.


Observation : In the test case we are creating second frame using "ProcessCommunicator.executeChildProcess()".  If we want to reproduce the issue using "-Dsun.java2d.uiScale" from command prompt the ProcessCommunicator will pick default scale values and second window will not be of required dimensions. We can pass "-Dsun.java2d.uiScale" value to ProcessCommunicator.executeChildProcess() like (ProcessCommunicator.executeChildProcess(ImageDropTarget.class, classpath+" -Dsun.java2d.uiScale=2", args)) but I didn't find a way to get "uiScale" value passed in command prompt into the test case. System.getProperty(sun.java2d.uiScale) returns null. 


If there is a way to get uiScale value passed in command prompt in the test case we can pass it to ProcessCommunicator.executeChildProcess() so that we can reproduce the issue by just passing VM option to jtreg. As of now to reproduce the issue we should go to Personalize->Display and change HiDPi setting.




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20180214/57f483d5/attachment.html>

More information about the awt-dev mailing list