[Editor] Remove useless and potentially deleted editors

After a deletion, a reference on a deleted editor can still be used
(for example in changing the font size just after having deleted all
editors).
This commit is contained in:
Calixte Denizet 2022-07-19 23:04:26 +02:00
parent f46895d750
commit 964fb77fa5

View File

@ -786,6 +786,7 @@ class AnnotationEditorUIManager {
delete() { delete() {
let cmd, undo; let cmd, undo;
if (this.#isAllSelected) { if (this.#isAllSelected) {
this.#previousActiveEditor = this.#activeEditor = null;
const editors = Array.from(this.#allEditors.values()); const editors = Array.from(this.#allEditors.values());
cmd = () => { cmd = () => {
for (const editor of editors) { for (const editor of editors) {
@ -807,6 +808,7 @@ class AnnotationEditorUIManager {
return; return;
} }
const editor = this.#activeEditor; const editor = this.#activeEditor;
this.#previousActiveEditor = this.#activeEditor = null;
cmd = () => { cmd = () => {
editor.remove(); editor.remove();
}; };
@ -834,15 +836,7 @@ class AnnotationEditorUIManager {
cut() { cut() {
if (this.#activeEditor) { if (this.#activeEditor) {
this.#clipboardManager.copy(this.#activeEditor); this.#clipboardManager.copy(this.#activeEditor);
const editor = this.#activeEditor; this.delete();
const cmd = () => {
editor.remove();
};
const undo = () => {
this.#addEditorToLayer(editor);
};
this.addCommands({ cmd, undo, mustExec: true });
} }
} }