fix: handle render errors (#3557)

This commit is contained in:
David Luzar 2021-05-09 21:43:36 +02:00 committed by GitHub
parent 91ab7f36e2
commit 6bebfe63be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 16 deletions

View File

@ -206,7 +206,7 @@ const drawElementOnCanvas = (
context.canvas.remove();
}
} else {
console.error(`Unimplemented type ${element.type}`);
throw new Error(`Unimplemented type ${element.type}`);
}
}
}

View File

@ -269,7 +269,11 @@ export const renderScene = (
);
visibleElements.forEach((element) => {
renderElement(element, rc, context, renderOptimizations, sceneState);
try {
renderElement(element, rc, context, renderOptimizations, sceneState);
} catch (error) {
console.error(error);
}
});
if (appState.editingLinearElement) {
@ -283,13 +287,17 @@ export const renderScene = (
// Paint selection element
if (selectionElement) {
renderElement(
selectionElement,
rc,
context,
renderOptimizations,
sceneState,
);
try {
renderElement(
selectionElement,
rc,
context,
renderOptimizations,
sceneState,
);
} catch (error) {
console.error(error);
}
}
if (isBindingEnabled(appState)) {
@ -834,13 +842,17 @@ export const renderSceneToSvg = (
// render elements
elements.forEach((element) => {
if (!element.isDeleted) {
renderElementToSvg(
element,
rsvg,
svgRoot,
element.x + offsetX,
element.y + offsetY,
);
try {
renderElementToSvg(
element,
rsvg,
svgRoot,
element.x + offsetX,
element.y + offsetY,
);
} catch (error) {
console.error(error);
}
}
});
};