Hello Anthony

I looked through the Swing code and didn't find any problems,
if all relevant tests passed I approve

Thanks
alexp

P.S.
Container.descendUnconditionallyWhenValidating looks fishy indeed,
it's better to get rig of it indeed


Hi Artem,

On 10/01/2009 12:24 PM, Artem Ananiev wrote:
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.

To make sure we don't get messed up when discovering potential regressions, I've just filed a separate CR 6887249 (Get rid of double-check for isValid() idiom in validate() methods) to fix the issue later. Thanks for the suggestion.

--
best regards,
Anthony


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

Reply via email to