svghmi/svghmi.js
branchsvghmi
changeset 2834 6ac6a9dff594
parent 2829 4c2c50f60730
child 2836 ce6cecdb7320
--- a/svghmi/svghmi.js	Thu Jan 30 14:33:06 2020 +0100
+++ b/svghmi/svghmi.js	Tue Feb 11 13:56:48 2020 +0100
@@ -3,19 +3,18 @@
 var cache = hmitree_types.map(_ignored => undefined);
 
 function dispatch_value_to_widget(widget, index, value, oldval) {
-    let idxidx = widget.indexes.indexOf(index);
-    if(idxidx == -1){
-        throw new Error("Dispatching to widget not interested, should not happen.");
-    }
-    let d = widget.dispatch;
-    if(typeof(d) == "function" && idxidx == 0){
-        return d.call(widget, value, oldval);
-    }else if(typeof(d) == "object" && d.length >= idxidx){
-        return d[idxidx].call(widget, value, oldval);
-    }/* else dispatch_0, ..., dispatch_n ? */
-    /*else {
-        throw new Error("Dunno how to dispatch to widget at index = " + index);
-    }*/
+    try {
+        let idxidx = widget.indexes.indexOf(index);
+        let d = widget.dispatch;
+        if(typeof(d) == "function" && idxidx == 0){
+            d.call(widget, value, oldval);
+        }else if(typeof(d) == "object" && d.length >= idxidx){
+            d[idxidx].call(widget, value, oldval);
+        }/* else dispatch_0, ..., dispatch_n ? */
+        /*else {
+            throw new Error("Dunno how to dispatch to widget at index = " + index);
+        }*/
+    }
 }
 
 function dispatch_value(index, value) {
@@ -36,7 +35,12 @@
         let widget = hmi_widgets[id];
         let init = widget.init;
         if(typeof(init) == "function"){
-            return init.call(widget);
+            try {
+                init.call(widget);
+            } catch(err) {
+                console.log("Widget initialization error : "+err.message);
+
+            }
         }
     });
 };