You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Joonas Koivunen (JIRA)" <ji...@apache.org> on 2011/03/28 18:12:05 UTC
[jira] [Updated] (WICKET-3564) AjaxRequestTarget#addComponent(..)
should guard against improper usage
[ https://issues.apache.org/jira/browse/WICKET-3564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joonas Koivunen updated WICKET-3564:
------------------------------------
Attachment: 3564-list_comp_resp.diff
Diff for freezing components, listeners and responders as late as possible. Untested.
> AjaxRequestTarget#addComponent(..) should guard against improper usage
> ----------------------------------------------------------------------
>
> Key: WICKET-3564
> URL: https://issues.apache.org/jira/browse/WICKET-3564
> Project: Wicket
> Issue Type: Improvement
> Components: wicket-core
> Affects Versions: 1.4.17
> Reporter: Joonas Koivunen
> Attachments: 3564-list_comp_resp.diff
>
>
> It's possible to call ART#addComponent(...) from (for example) Component#onComponentTag(..) which will later throw ConcurrentModificationException from line 675 (getting next from iterator).
> Guarding the addComponent(Component, String) and the other add* and register* methods would seem better in the terms of fail-fast behaviour and save someone else a bit of debugging time.
> Patching this is rather trivial at least for Components; for javascripts I'm not sure if correctly blocking adding prependJs just before rendering it could break someones (already broken, unrendered) javascript?
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira