<Swing Dev> <AWT Dev> Review request #4: 6852592 (invalidate() must be smarter)
Artem Ananiev
Artem.Ananiev at Sun.COM
Thu Oct 1 08:24:27 UTC 2009
Hi, Anthony,
I've quickly looked through the changes, the fix looks fine with the
exception of using double-check idiom in Container.validate() - I told
you about that the other day.
Thanks,
Artem
Anthony Petrov wrote:
> It's been a long time since we discussed the issue. Now is the time for
> revival.
>
> Last time we came across a failing test [1] that had a JApplet embedded
> in a JFrame. The frame was expected to be validated upon showing.
> However, the components in the JApplet were not validated, since the
> JApplet itself was marked valid, but the invalidate() requests from the
> children of the applet stopped on the RootPane of the JApplet because it
> was a validate root.
>
> Later we found out a possible solution for that problem [2]: the show()
> (as well as the pack()) should validate the whole component hierarchy
> unconditionally.
>
> So, here's the fix with this solution implemented. Please review:
>
> http://cr.openjdk.java.net/~anthony/7-23-invalidate-6852592.3/
>
> The fix has been tested quite thoroughly: all sort of related automatic
> tests for both Swing and AWT areas have been run (including
> layout-related tests, bare (J)Component and Container-related tests, and
> some other.) All manual layout-related tests from AWT and Swing have
> also been run and passed. Mixing-related regression tests pass as well.
>
> Please note that I've also changed the synopsis of the change request by
> replacing revalidate() with invalidate() because the fix actually
> affects the invalidate() method only.
>
> [1] http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000831.html
>
> [2] http://mail.openjdk.java.net/pipermail/awt-dev/2009-August/000835.html
>
> --
> best regards,
> Anthony
More information about the swing-dev
mailing list