@@ -8,8 +8,8 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle';
88const WIDGET_HEIGHT = 29 ;
99
1010export class TerminalWidgetManager implements IDisposable {
11- private _container : HTMLElement ;
12- private _xtermViewport : HTMLElement ;
11+ private _container : HTMLElement | null ;
12+ private _xtermViewport : HTMLElement | null ;
1313
1414 private _messageWidget : MessageWidget ;
1515 private _messageListeners : IDisposable [ ] = [ ] ;
@@ -25,7 +25,7 @@ export class TerminalWidgetManager implements IDisposable {
2525 }
2626
2727 public dispose ( ) : void {
28- if ( this . _container ) {
28+ if ( this . _container && this . _container . parentElement ) {
2929 this . _container . parentElement . removeChild ( this . _container ) ;
3030 this . _container = null ;
3131 }
@@ -35,11 +35,17 @@ export class TerminalWidgetManager implements IDisposable {
3535 private _initTerminalHeightWatcher ( terminalWrapper : HTMLElement ) {
3636 // Watch the xterm.js viewport for style changes and do a layout if it changes
3737 this . _xtermViewport = < HTMLElement > terminalWrapper . querySelector ( '.xterm-viewport' ) ;
38+ if ( ! this . _xtermViewport ) {
39+ return ;
40+ }
3841 const mutationObserver = new MutationObserver ( ( ) => this . _refreshHeight ( ) ) ;
3942 mutationObserver . observe ( this . _xtermViewport , { attributes : true , attributeFilter : [ 'style' ] } ) ;
4043 }
4144
4245 public showMessage ( left : number , top : number , text : string ) : void {
46+ if ( ! this . _container ) {
47+ return ;
48+ }
4349 dispose ( this . _messageWidget ) ;
4450 this . _messageListeners = dispose ( this . _messageListeners ) ;
4551 this . _messageWidget = new MessageWidget ( this . _container , left , top , text ) ;
@@ -53,6 +59,9 @@ export class TerminalWidgetManager implements IDisposable {
5359 }
5460
5561 private _refreshHeight ( ) : void {
62+ if ( ! this . _container || ! this . _xtermViewport ) {
63+ return ;
64+ }
5665 this . _container . style . height = this . _xtermViewport . style . height ;
5766 }
5867}
0 commit comments