<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 21 08:55:01 UTC 2018


Hi Sergey,

Thanks for your inputs.
I changed robot.mouseMouse() parameters and observed that if we don’t receive any updates in ImageDropTarget listener we will not dispose ImageDropTarget frame.
I tried using ProcessCommunicator.destroyProcess() in finally block of ImageDragSource but it also didn’t dispose the ImageDropTarget frame.

So as suggested I have added 2 min wait in ImageDropTarget.main() and if we don’t receive anything in ImageDropTarget listener we will dispose() the frame. Usually in my machine it takes around 25seconds for DnD of all image formats so 2 minutes wait should be more than enough in all machines and different HiDPI scenarios.

Please find updated webrev for review:
http://cr.openjdk.java.net/~jdv/8197926/webrev.03/ 

Thanks,
Jay 

-----Original Message-----
From: Sergey Bylokhov 
Sent: Saturday, February 17, 2018 1:36 AM
To: Jayathirth D V
Cc: awt-dev at openjdk.java.net
Subject: Re: <AWT Dev> [AWT Dev] [11] RFR JDK-8197926: java/awt/dnd/ImageTransferTest/ImageTransferTest.java doesnt close the windows in HiDPI setting

Hi, Jay.
There is one additional small issue, I have found it by run the test on
win10 where the robot does not work properly(separate bug). The subprocess still leaves the frame if the robot did not complete dnd properly. I think you can reproduce it by comment out all robot.mouseMove operations. The problem is that ImageDropTarget.main() did not dispose() the frame at the end of the method(it dispose it only in case of some errors). I think that the ImageDropTarget.main() should wait some amount of time and then throw an exception/dispose the frame/ or something like this. Or maybe the main process should kill/destroy the subprocess.


On 15/02/2018 23:33, Jayathirth D V wrote:
> Strangely I tried the same -vmoptions:"-Dsun.java2d.uiScale=3" thing today and using System.getProperty("sun.java2d.uiScale") I am able to get the value inside test case. So I have modified the test case to pass scale value to ProcessCommunicator.executeChildProcess() and also I made some indentation changes in test case.
> 
> Please find updated webrev for review:
> http://cr.openjdk.java.net/~jdv/8197926/webrev.02/
> 
> Thanks,
> Jay
> 
> -----Original Message-----
> From: Sergey Bylokhov
> Sent: Friday, February 16, 2018 3:28 AM
> To: Jayathirth D V
> Cc: awt-dev at openjdk.java.net
> Subject: Re: <AWT Dev> [AWT Dev] [11] RFR JDK-8197926: 
> java/awt/dnd/ImageTransferTest/ImageTransferTest.java doesnt close the 
> windows in HiDPI setting
> 
> Hi, Jay.
>> I tried different failure scenarios inside test like making comparing 
>> images fail but all the times frames are getting disposed.
>> Could you please elaborate in which scenario exactly you are seeing 
>> frame not getting disposed?
> 
> I run the version of the test before your fix, and it leaves one of the frame of the screen.
> 
>>
>> But I have still added explicit frame.dispose() at places to make 
>> sure that we dispose the created frames.
>> Please find updated webrev for review:
>> http://cr.openjdk.java.net/~jdv/8197926/webrev.01/
>>
>> Also in continuation to what we discussed offline, I used 
>> -vmoptions:"-Dsun.java2d.uiScale=2" to pass to jtreg from command 
>> prompt. But in this case also 
>> System.getProperty("sun.java2d.uiScale")
>> returned null in test case. So I was not able to pass uiScale 
>> mentioned in command prompt to ProcessCommunicator in test case.
> 
> I tested it using this command line:
> ../jtreg/bin/jtreg -vmoptions:"-Dsun.java2d.uiScale=10" 
> -verbose:summary -a -nr -jdk:./build/windows-x64/images/jdk/  
> open/test/jdk/java/awt/dnd/ImageTransferTest/ImageTransferTest.java
> 
> Plus this change in the test:
>      public static void main(String[] arg) throws Exception {
> +       String prop = System.getProperty("sun.java2d.uiScale");
> +	System.err.println(prop);
> 
> It prints 10 in the log.
> 


--
Best regards, Sergey.


More information about the awt-dev mailing list