[ https://issues.apache.org/jira/browse/WICKET-5039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Grigorov resolved WICKET-5039. ------------------------------------- Resolution: Fixed Fix Version/s: 6.7.0 The code is fixed and javadoc is added to AjaxRequestTarget #prepend and #appendJavaScript > Manual invocation of FunctionsExecutor#notify() is broken > --------------------------------------------------------- > > Key: WICKET-5039 > URL: https://issues.apache.org/jira/browse/WICKET-5039 > Project: Wicket > Issue Type: Bug > Components: wicket > Affects Versions: 6.4.0 > Environment: any > Reporter: Ernesto Reinaldo Barreiro > Assignee: Martin Grigorov > Priority: Trivial > Fix For: 6.7.0 > > Attachments: WICKET-5039.patch, wicket5039.tar.gz > > Original Estimate: 0h > Remaining Estimate: 0h > > We are having problems on Wicket 1.4.x with and "AJAX function" > processEvaluation... and I see the code is practically the same at 6.x. So, > let's bring the subject to the list... > Our problem is that after evaluating some expressions with errors, screen > "freezes" because post-call handlers are not called. Problem seems to be > related to the code. > // test if the javascript is in form of > identifier|code > // if it is, we allow for letting the > javascript decide when the rest of processing will continue > // by invoking identifier(); > var res = text.match(new > RegExp("^([a-z|A-Z_][a-z|A-Z|0-9_]*)\\|((.|\\n)*)$")); > if (res !== null) { > var f = jQuery.noop; > text = "f = function(" + res[1] + ") {" > + res[2] + "};"; > try { > // do the evaluation > eval(text); > f(notify); > } catch (exception) { > > Wicket.Log.error("Wicket.Ajax.Call.processEvaluation: Exception evaluating > javascript: " + exception + ", text: " + text); > } > } > In case of error. Shouldn't it be > try { > // do the evaluation > eval(text); > f(notify); > } catch (exception) { > > Wicket.Log.error("Wicket.Ajax.Call.processEvaluation: Exception evaluating > javascript: " + exception + ", text: " + text); > notify(); > } > So that next steps in processing get called. The above solves or freezing > problem in case of error -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira