<AWT Dev> [14] Review Request: 8236953 [macos] JavaFX SwingNode is not rendered on macOS
Kevin Rushforth
kevin.rushforth at oracle.com
Wed Jan 15 15:52:21 UTC 2020
Looks good to me. I tested it on my Mac with a few SwingNode apps, and
they all render correctly with the fix applied.
+1
-- Kevin
On 1/14/2020 8:10 PM, Sergey Bylokhov wrote:
> Hello.
> Please review the fix for JDK 14.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8236953
> Fix: http://cr.openjdk.java.net/~serb/8236953/webrev.00
>
> The Swing components depends on the COMPONENT_RESIZED and
> COMPONENT_MOVED posted by the AWT. These events are posted
> in three situations:
> 1. If the Component is invisible then events are always posted
> by the Component class.
> 2. If the Component is visible and the size is changed by the
> user via setBounds() method then events are posted by the
> component only if the component is not Window.
> 3. If the Component is visible and the size is changed by the
> OS then the peer will post these events.
>
> Note that in point 2. we skip any top-level windows because we
> know that sometime later we will get a native callback and will
> post events at point 3.
>
> In JDK-8144125 I have fixed a bug when we always posted these
> evens at point 2., and as a result, we got duplicated events after
> point 3. But the fix caused current regression, the JLightweightFrame
> which is used by the SwingNode is a kind of top-level window but w/o
> the native part, so it will never get a native callback and should post
> events ourself, we already do this on windows, and probably should do
> this on Linux(it is currently works because on Linux AWT posts too
> many events).
>
>
More information about the awt-dev
mailing list