Skip to content

Commit e0ab49f

Browse files
authored
Merge pull request #6270 from WoltLab/6.2-quote-destroy-editor
Prevent the insertion of quotes into an already destroyed editor
2 parents f1b7a81 + 821fb53 commit e0ab49f

File tree

4 files changed

+24
-1
lines changed

4 files changed

+24
-1
lines changed

ts/WoltLabSuite/Core/Component/Quote/List.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import { listenToCkeditor, dispatchToCkeditor } from "WoltLabSuite/Core/Component/Ckeditor/Event";
1212
import { getTabMenu } from "WoltLabSuite/Core/Component/Message/MessageTabMenu";
1313
import { getPhrase } from "WoltLabSuite/Core/Language";
14-
import { setActiveEditor, removeQuoteStatus } from "WoltLabSuite/Core/Component/Quote/Message";
14+
import { setActiveEditor, removeQuoteStatus, removeActiveEditor } from "WoltLabSuite/Core/Component/Quote/Message";
1515
import {
1616
getQuotes,
1717
getMessage,
@@ -156,5 +156,7 @@ export function setup(editorId: string, containerId?: string): void {
156156
setActiveEditor(ckeditor, ckeditor.features.quoteBlock);
157157
}
158158
});
159+
}).destroy(() => {
160+
removeActiveEditor(editor);
159161
});
160162
}

ts/WoltLabSuite/Core/Component/Quote/Message.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,16 @@ export function setActiveEditor(editor?: CKEditor, supportDirectInsert: boolean
110110
activeEditor = editor;
111111
}
112112

113+
export function removeActiveEditor(editorSource: HTMLElement): void {
114+
if (!activeEditor) {
115+
return;
116+
}
117+
118+
if (activeEditor.sourceElement === editorSource) {
119+
setActiveEditor();
120+
}
121+
}
122+
113123
export function removeQuoteStatus(key: string): void {
114124
quoteMessageButtons.get(key)?.classList.remove("active");
115125
}

wcfsetup/install/files/js/WoltLabSuite/Core/Component/Quote/List.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

wcfsetup/install/files/js/WoltLabSuite/Core/Component/Quote/Message.js

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)