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

Dmitry Cherepanov Dmitry.Cherepanov at Sun.COM
Wed Oct 7 03:08:43 PDT 2009

Hi Anthony,

The fix looks good to me.


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 awt-dev mailing list