Hi,
We're having trouble initializing a SelectItem on a screen. When calling setValue before it is actually displayed, we may end up having this exception:
It does not always occur. Here is an example where the order of the items order in the form makes the call fail or succeed:
Could it be an issue with the SelectItem widget ?
Using:
Latest Chromium build
FireFox 21
SmartClient Version: v8.3p_2013-05-23/PowerEdition Deployment (built 2013-05-23)
We're having trouble initializing a SelectItem on a screen. When calling setValue before it is actually displayed, we may end up having this exception:
Code:
Caused by: com.google.gwt.core.client.JavaScriptException: (RangeError) stack: RangeError: Maximum call stack size exceeded at Object.isc_c_Class__getNextImplementingSuper [as $cs] (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Core.js) at Object.isc_c_Class_invokeSuper [as invokeSuper] (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Core.js:246:15) at Object.isc_SelectItem__mapKey [as $17b] (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js:1492:320) at Object.isc_FormItem_mapValueToDisplay (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js:744:91) at Object.isc_c_Class_invokeSuper [as invokeSuper] (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Core.js:247:162) at Object.isc_SelectItem_mapValueToDisplay [as mapValueToDisplay] (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js:1491:13) at Object.isc_DynamicForm_saveItemValue [as saveItemValue] (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js:256:693) at Object.isc_FormItem_saveValue (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js:768:95) at Object.isc_c_Class_invokeSuper [as invokeSuper] (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Core.js:247:162) at Object.isc_SelectItem_saveValue [as saveValue] (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js:1486:146): Maximum call stack size exceeded at Unknown.isc_c_Class__getNextImplementingSuper(http@8080) at Unknown.isc_c_Class_invokeSuper(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Core.js@15) at Unknown.isc_SelectItem__mapKey(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js@320) at Unknown.isc_FormItem_mapValueToDisplay(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js@91) at Unknown.isc_c_Class_invokeSuper(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Core.js@162) at Unknown.isc_SelectItem_mapValueToDisplay(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js@13) at Unknown.isc_DynamicForm_saveItemValue(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js@693) at Unknown.isc_FormItem_saveValue(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js@95) at Unknown.isc_c_Class_invokeSuper(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Core.js@162) at Unknown.isc_SelectItem_saveValue(http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Forms.js@146) B57D886E00E67BB2C21BE40291D02A35.cache.html:10034
Code:
public Canvas buildContent() { LinkedHashMap values = new LinkedHashMap(); values.put("a", "A"); values.put("b", "B"); SelectItem selectItem = new SelectItem(); selectItem.setMultiple(false); selectItem.setDisplayField("1"); selectItem.setTitle("Selected item"); selectItem.setValueMap(values); TextItem textItem = new TextItem(); textItem.setTitle("Text item"); VLayout mainLayout = new VLayout(); mainLayout.setHeight(200); mainLayout.setAlign(Alignment.CENTER); DynamicForm form = new DynamicForm(); // The following fails, but works if we call // form.setFields(selectItem, textItem); form.setFields(textItem, selectItem); form.setWidth100(); form.setNumCols(4); mainLayout.addMember(form); selectItem.setValue("a"); return mainLayout; }
Using:
Latest Chromium build
FireFox 21
SmartClient Version: v8.3p_2013-05-23/PowerEdition Deployment (built 2013-05-23)
Comment