Thank you, Anton.
On 7/24/2014 5:33 PM, Anton V. Tarasov wrote:
Artem,
I've just noticed the Window.isFocusableWindow method is _final_ . So,
that was a false alert, sorry. And thanks for the check.
No more questions from me.
Regards,
Anton.
On 24.07.2014 15:37, artem malinko wrote:
Call stack and sysout show that in case of applet Window.setVisible()
is called from the main thread or from EDT thread. So I think toolkit
thread won't call this method.
On 7/24/2014 2:02 PM, Anton V. Tarasov wrote:
On 24.07.2014 13:48, artem malinko wrote:
Hi Anton.
Sorry, didn't understand you well. Do you mean we should check(and
test) that this method(isFocusableWindow()) is also called on EDT
if we run applet?
IMHO, it's enough to just make sure (via inspecting the sources)
that Window.setVisible() is called on EDT in case of an applet. That
logic is triggered on the plugin side.
Anton.
On 7/24/2014 11:42 AM, Anton V. Tarasov wrote:
Hi Artem,
I'm Ok with the fix, provided that LWWindowPeer.setVisibleImpl()
is called on EDT for applets (if I'm not mistaken). Otherwise, we
still have a client method (getTarget().isFocusableWindow())
called on the toolkit thread, which is generally no good.
Regards,
Anton.
On 24.07.2014 10:25, artem malinko wrote:
Thank you, Petr.
Could anyone else review the fix, please?
On 7/23/2014 10:30 PM, Petr Pchelko wrote:
Hello, Artem.
The new version (it’s .00 for some reason) looks good.
With best regards. Petr.
On Jul 23, 2014, at 6:55 PM, artem malinko
<[email protected] <mailto:[email protected]>> wrote:
Hi, Petr. I ran focus regression tests and jck tests on awt.
For fixed jdk results is the same. Except my new test, of
course which is not passed on not fixed jdk:) And also I fixed
issues in test. New webrev:
http://cr.openjdk.java.net/~bae/8047288/9/webrev.00/
On 7/22/2014 8:23 PM, Petr Pchelko wrote:
Hello, Artem.
A couple of comments:
1. LWWindowPeer: 268 - please remove an empty line.
2. LWWIndowPeer. isTargetFocusable - the method is not needed
at all.
3. I’m concerned about the test. Do you really need the close
button?
4. frame and window variables are set from main thread and
read from EDT. They should be declared volatile.
Also please run all focus regression and JCK tests, because
this area is very sensitive.
With best regards. Petr.
On Jul 22, 2014, at 8:04 PM, artem malinko
<[email protected] <mailto:[email protected]>>
wrote:
Hello, AWT Team.
Please review a fix for the issue:
https://bugs.openjdk.java.net/browse/JDK-8047288
The fix is available at:
http://cr.openjdk.java.net/~mcherkas/artem/8047288/webrev.01/
<http://cr.openjdk.java.net/%7Emcherkas/artem/8047288/webrev.01/>
Window.isFocusableWindow() could lead to deadlock if it is
invoked on AppKit thread. Fix caches result of
Window.isFocusableWindow() on a peer level and method is not
invoked on AppkitThread.
Thank you.