From cb0ea6c2f5f0aee51ab957ac2ba0ecabfcca6b12 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Fri, 13 Sep 2024 13:51:23 +0200 Subject: [PATCH] Catch exception in web canvas If special method exists - let provide it --- modules/gpad/RCanvasPainter.mjs | 7 ++++++- modules/gpad/TCanvasPainter.mjs | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/gpad/RCanvasPainter.mjs b/modules/gpad/RCanvasPainter.mjs index fc24547e9..399f50d3d 100644 --- a/modules/gpad/RCanvasPainter.mjs +++ b/modules/gpad/RCanvasPainter.mjs @@ -288,7 +288,12 @@ class RCanvasPainter extends RPadPainter { this.addPadInteractive(); handle.send(`SNAPDONE:${snapid}`); // send ready message back when drawing completed this.confirmDraw(); - }); + }).catch(err => { + if (isFunc(this.showConsoleError)) + this.showConsoleError(err); + else + console.log(err); + }); } else if (msg.slice(0, 4) === 'JSON') { const obj = parse(msg.slice(4)); // console.log('get JSON ', msg.length-4, obj._typename); diff --git a/modules/gpad/TCanvasPainter.mjs b/modules/gpad/TCanvasPainter.mjs index 7d11c5e6c..b8da3066c 100644 --- a/modules/gpad/TCanvasPainter.mjs +++ b/modules/gpad/TCanvasPainter.mjs @@ -368,6 +368,11 @@ class TCanvasPainter extends TPadPainter { if (ranges) ranges = ':' + ranges; handle.send(`READY6:${version}${ranges}`); // send ready message back when drawing completed this.confirmDraw(); + }).catch(err => { + if (isFunc(this.showConsoleError)) + this.showConsoleError(err); + else + console.log(err); }); } else if (msg.slice(0, 5) === 'MENU:') { // this is menu with exact identifier for object