mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
Merge pull request #2962 from JoshuaKGoldberg/dom-renderer-dispose-children
Only removeChild valid children in DomRenderer dispose
This commit is contained in:
@@ -95,10 +95,14 @@ export class DomRenderer extends Disposable implements IRenderer {
|
||||
|
||||
public dispose(): void {
|
||||
this._element.classList.remove(TERMINAL_CLASS_PREFIX + this._terminalClass);
|
||||
this._screenElement.removeChild(this._rowContainer);
|
||||
this._screenElement.removeChild(this._selectionContainer);
|
||||
this._screenElement.removeChild(this._themeStyleElement);
|
||||
this._screenElement.removeChild(this._dimensionsStyleElement);
|
||||
|
||||
// Outside influences such as React unmounts may manipulate the DOM before our disposal.
|
||||
// https://github.com/xtermjs/xterm.js/issues/2960
|
||||
this._rowContainer.parentElement?.removeChild(this._rowContainer);
|
||||
this._selectionContainer.parentElement?.removeChild(this._selectionContainer);
|
||||
this._themeStyleElement.parentElement?.removeChild(this._themeStyleElement);
|
||||
this._dimensionsStyleElement.parentElement?.removeChild(this._dimensionsStyleElement);
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user