<Swing Dev> Review request #4: 6852592 (invalidate() must be smarter)

Anthony Petrov Anthony.Petrov at Sun.COM
Fri Sep 25 14:16:09 UTC 2009


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