From 4f49d6d7b97591998c53237c987793a642440ed6 Mon Sep 17 00:00:00 2001 From: Jelle De Loecker Date: Sun, 28 Apr 2024 15:58:14 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20some=20errors=20not=20bein?= =?UTF-8?q?g=20caught=20and=20causing=20a=20deadlock=20when=20rendering=20?= =?UTF-8?q?custom=20elements?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/element/custom_element.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/element/custom_element.js b/lib/element/custom_element.js index 0a09ff1..7758a6a 100644 --- a/lib/element/custom_element.js +++ b/lib/element/custom_element.js @@ -1101,7 +1101,12 @@ function renderCustomTemplate(re_render) { return; } - _finishRender.call(that, err); + try { + _finishRender.call(that, err); + } catch (_err) { + return pledge.reject(_err); + } + doEarlyResolve(false); }); @@ -2484,13 +2489,13 @@ function _finishRender(err) { * * @author Jelle De Loecker * @since 2.1.3 - * @version 2.3.16 + * @version 2.4.0 */ function _resolveRender(err) { if (err) { const renderer = this.hawkejs_renderer; - let message = renderer.hawkejs.handleError(renderer, this.start_template.name, this.start_line_nr, err); + let message = renderer.hawkejs.handleError(renderer, this.start_template?.name || 'unknown', this.start_line_nr, err); let pre = this.createElement('pre'); pre.textContent = message; this.append(pre);