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