diff --git a/src/element/bounds.ts b/src/element/bounds.ts index d0d0feba8..eddd4083c 100644 --- a/src/element/bounds.ts +++ b/src/element/bounds.ts @@ -22,6 +22,7 @@ import { getBoundTextElement, getContainerElement } from "./textElement"; import { LinearElementEditor } from "./linearElementEditor"; import { Mutable } from "../utility-types"; import { ShapeCache } from "../scene/ShapeCache"; +import Scene from "../scene/Scene"; export type RectangleBox = { x: number; @@ -59,10 +60,17 @@ export class ElementBounds { const bounds = ElementBounds.calculateBounds(element); - ElementBounds.boundsCache.set(element, { - version: element.version, - bounds, - }); + // hack to ensure that downstream checks could retrieve element Scene + // so as to have correctly calculated bounds + // FIXME remove when we get rid of all the id:Scene / element:Scene mapping + const shouldCache = Scene.getScene(element); + + if (shouldCache) { + ElementBounds.boundsCache.set(element, { + version: element.version, + bounds, + }); + } return bounds; }