I have found the way to avoid iterative queries for frame insets.
The updated webrev: http://cr.openjdk.java.net/~ssadetsky/8036915/webrev.01/
--Semyon
On 10/29/2015 12:20 AM, Sergey Bylokhov wrote:
On 06.10.15 9:15, Semyon Sadetsky wrote:
Sorry. I meant it is not guaranteed to be sent by every WM.
But fetch the data of 100 times also doesn't guarantee that we
will get the necessary data. It will be better at least to try to
check the specified atom for this(it seems it is supported by all our
platfrom). For example on osx insets can be changed on the fly w/o
notification, because of this we fetch the insets on each reshapeEvent
and posts the necessary message up to hierarchy.
On 10/6/2015 9:03 AM, Semyon Sadetsky wrote:
In is extended event. In does not guaranteed to be sent by any WM.
On 10/5/2015 6:12 PM, Sergey Bylokhov wrote:
Why we cannot treat such a XA_NET_FRAME_EXTENTS as a ConfigureNotify
in which only insets are changed, and the window bounds/insets should
be revalidated?
On 05.10.15 14:56, Semyon Sadetsky wrote:
Hello,
Please review fix for JDK9:
bug: https://bugs.openjdk.java.net/browse/JDK-8036915
webrev: http://cr.openjdk.java.net/~ssadetsky/8036915/webrev.00/
The test scenario attached to the jira contains potential errors
because
Componet.getLocation() won't return the location at any moment of
time.
Anyway a window location issue exists in Unity. The root cause is
that
the real insets sent with the XA_NET_FRAME_EXTENTS event can be
overridden by the "guessed" insets which are zero on Unity. So the
returned location is increased by real insets while the real window
location is correct.
Yet another issue I found in Unity is a window size issue which is
also
caused by the frame insets detection. The Unity WM doesn't provide
the
frame insets immediately and XA_NET_FRAME_EXTENTS event may come
after
the ConfigureNotify event for the frame.
The solution proposes an adaptation of the existing frame insets
request
algorithm to the Unity WM so that makes it more stable.
--Semyon