refboard: avoid eager extract fallback for canvas snapshots
This commit is contained in:
@@ -25,10 +25,10 @@ export async function writeCanvasToClipboard(
|
|||||||
if (!app) throw new Error('Renderer not available');
|
if (!app) throw new Error('Renderer not available');
|
||||||
|
|
||||||
const directCanvas = app.canvas as unknown as HTMLCanvasElement | undefined;
|
const directCanvas = app.canvas as unknown as HTMLCanvasElement | undefined;
|
||||||
const fallbackCanvas = app.renderer?.extract
|
const sourceCanvas = directCanvas
|
||||||
|
?? (app.renderer?.extract
|
||||||
? (app.renderer.extract.canvas(viewport) as HTMLCanvasElement)
|
? (app.renderer.extract.canvas(viewport) as HTMLCanvasElement)
|
||||||
: undefined;
|
: undefined);
|
||||||
const sourceCanvas = directCanvas ?? fallbackCanvas;
|
|
||||||
if (!sourceCanvas || sourceCanvas.width <= 0 || sourceCanvas.height <= 0) {
|
if (!sourceCanvas || sourceCanvas.width <= 0 || sourceCanvas.height <= 0) {
|
||||||
throw new Error('Rendered canvas unavailable');
|
throw new Error('Rendered canvas unavailable');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -605,10 +605,10 @@ export default function Editor({ isPublicView }: EditorProps) {
|
|||||||
setRefreshingPreview(true);
|
setRefreshingPreview(true);
|
||||||
try {
|
try {
|
||||||
const directCanvas = app.canvas as unknown as HTMLCanvasElement | undefined;
|
const directCanvas = app.canvas as unknown as HTMLCanvasElement | undefined;
|
||||||
const fallbackCanvas = viewport && app.renderer?.extract
|
const sourceCanvas = directCanvas
|
||||||
|
?? (viewport && app.renderer?.extract
|
||||||
? (app.renderer.extract.canvas(viewport) as HTMLCanvasElement)
|
? (app.renderer.extract.canvas(viewport) as HTMLCanvasElement)
|
||||||
: undefined;
|
: undefined);
|
||||||
const sourceCanvas = directCanvas ?? fallbackCanvas;
|
|
||||||
if (!sourceCanvas || sourceCanvas.width <= 0 || sourceCanvas.height <= 0) {
|
if (!sourceCanvas || sourceCanvas.width <= 0 || sourceCanvas.height <= 0) {
|
||||||
throw new Error('rendered canvas is unavailable');
|
throw new Error('rendered canvas is unavailable');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user