fix(ui): do not await creating new canvas image

If you await this, it causes a race condition where multiple images are created.
This commit is contained in:
psychedelicious 2024-07-17 12:21:27 +10:00
parent 444ad3dae1
commit d296ec1932
3 changed files with 3 additions and 3 deletions

View File

@ -79,7 +79,7 @@ export class CanvasControlAdapter {
didDraw = true; didDraw = true;
} }
} else if (!this.image) { } else if (!this.image) {
this.image = await new CanvasImage(imageObject); this.image = new CanvasImage(imageObject);
this.updateGroup(true); this.updateGroup(true);
this.objectsGroup.add(this.image.konvaImageGroup); this.objectsGroup.add(this.image.konvaImageGroup);
await this.image.updateImageSource(imageObject.image.name); await this.image.updateImageSource(imageObject.image.name);

View File

@ -42,7 +42,7 @@ export class CanvasInitialImage {
} }
if (!this.image) { if (!this.image) {
this.image = await new CanvasImage(this.initialImageState.imageObject); this.image = new CanvasImage(this.initialImageState.imageObject);
this.objectsGroup.add(this.image.konvaImageGroup); this.objectsGroup.add(this.image.konvaImageGroup);
await this.image.update(this.initialImageState.imageObject, true); await this.image.update(this.initialImageState.imageObject, true);
} else if (!this.image.isLoading && !this.image.isError) { } else if (!this.image.isLoading && !this.image.isError) {

View File

@ -180,7 +180,7 @@ export class CanvasLayer {
assert(image instanceof CanvasImage || image === undefined); assert(image instanceof CanvasImage || image === undefined);
if (!image) { if (!image) {
image = await new CanvasImage(obj); image = new CanvasImage(obj);
this.objects.set(image.id, image); this.objects.set(image.id, image);
this.objectsGroup.add(image.konvaImageGroup); this.objectsGroup.add(image.konvaImageGroup);
await image.updateImageSource(obj.image.name); await image.updateImageSource(obj.image.name);