+1
Regards
Prasanta
On 2/22/2018 1:49 AM, Sergey Bylokhov wrote:
Then it look fine,
Thank you for clarification.
On 21/02/2018 10:28, Jayathirth D V wrote:
Hi Sergey,
Thanks for your inputs.
In all the cases where Robot is working properly we expect all dnd
operations to be finished within 2 mins, so we will never reach
dropCount check in "new Thread".
In the case where Robot is not working properly we will not hit
DropTargetAdapter.drop() so dropCount will not be updated.
I think since we have 2 min wait time after the first dnd operation
is started, we will not reach a condition where we will be accessing
dropCount in parallel at "new Thread" & drop callback. So there is
no need of synchronization between these scenarios.
Thanks,
Jay
-----Original Message-----
From: Sergey Bylokhov
Sent: Wednesday, February 21, 2018 9:22 PM
To: Jayathirth D V
Cc: awt-dev@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.
It looks like some synchronization is required when you access
"dropCount" from two threads(the drop callback and the new added
Thread).
On 21/02/2018 00:55, Jayathirth D V wrote:
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@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@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.
--
Best regards, Sergey.