You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Ernesto Reinaldo Barreiro (JIRA)" <ji...@apache.org> on 2013/02/13 13:28:14 UTC

[jira] [Created] (WICKET-5039) ajax post call handlers might not get called because of failure on problems with processEvaluation function

Ernesto Reinaldo Barreiro created WICKET-5039:
-------------------------------------------------

             Summary: ajax post call handlers might not get called because of failure on problems with processEvaluation function
                 Key: WICKET-5039
                 URL: https://issues.apache.org/jira/browse/WICKET-5039
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 6.5.0, 1.5.8, 1.4.21
         Environment: any
            Reporter: Ernesto Reinaldo Barreiro
            Priority: Trivial


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