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: [email protected]
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: [email protected]
> 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.

Reply via email to