Hi, Sergey,
the fix looks acceptable (I can't say "fine", because I can't predict
side effects). That's why could you also add the following information
to bug comments:
1. Current fix
2. Alternative fix, when we asynchronously update GD's full screen window
Thanks,
Artem
On 10/11/2013 6:10 PM, Sergey Bylokhov wrote:
Hello.
Please review the fix for jdk 8. The problem is in inconsistent state of
the GraphicsDevice, Window and Peer.
We update GraphicsDevice synchronously in setFullScreenWindow(), we
update peer's coordinate a little bit later in the native call back, and
we update state of the window much later on EDT.
In the fix I try to update GraphicsDevice and Window.gc, so they points
to each other.
All attempts to do the same things synchronously from the native
callback deadlocked.
Bug: https://bugs.openjdk.java.net/browse/JDK-8019591
Webrev can be found at: http://cr.openjdk.java.net/~serb/8019591/webrev.00