diff --git a/src/virtual-machine.js b/src/virtual-machine.js index fe060104..d45cca8d 100644 --- a/src/virtual-machine.js +++ b/src/virtual-machine.js @@ -495,7 +495,11 @@ class VirtualMachine extends EventEmitter { // Ensure editing target is switched if we are deleting it. if (clone === currentEditingTarget) { const nextTargetIndex = Math.min(this.runtime.targets.length - 1, targetIndexBeforeDelete); - this.setEditingTarget(this.runtime.targets[nextTargetIndex].id); + if (this.runtime.targets.length > 0){ + this.setEditingTarget(this.runtime.targets[nextTargetIndex].id); + } else { + this.editingTarget = null; + } } } // Sprite object should be deleted by GC. @@ -518,7 +522,7 @@ class VirtualMachine extends EventEmitter { } else if (!target.sprite) { throw new Error('No sprite associated with this target.'); } - target.duplicate().then(newTarget => { + return target.duplicate().then(newTarget => { this.runtime.targets.push(newTarget); this.setEditingTarget(newTarget.id); });