Hi Anthony,
The fix looks good to me.
Thanks,
Dmitry
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