@@ -140,7 +140,7 @@ export class Terminal extends CoreTerminal implements ITerminal {
140140 this . _setup ( ) ;
141141
142142 this . linkifier = this . _instantiationService . createInstance ( Linkifier ) ;
143- this . linkifier2 = this . _instantiationService . createInstance ( Linkifier2 ) ;
143+ this . linkifier2 = this . register ( this . _instantiationService . createInstance ( Linkifier2 ) ) ;
144144
145145 // Setup InputHandler listeners
146146 this . register ( this . _inputHandler . onRequestBell ( ( ) => this . bell ( ) ) ) ;
@@ -154,7 +154,7 @@ export class Terminal extends CoreTerminal implements ITerminal {
154154 this . register ( forwardEvent ( this . _inputHandler . onA11yTab , this . _onA11yTabEmitter ) ) ;
155155
156156 // Setup listeners
157- this . _bufferService . onResize ( e => this . _afterResize ( e . cols , e . rows ) ) ;
157+ this . register ( this . _bufferService . onResize ( e => this . _afterResize ( e . cols , e . rows ) ) ) ;
158158 }
159159
160160 public dispose ( ) : void {
@@ -413,13 +413,13 @@ export class Terminal extends CoreTerminal implements ITerminal {
413413
414414 this . _theme = this . options . theme || this . _theme ;
415415 this . _colorManager = new ColorManager ( document , this . options . allowTransparency ) ;
416- this . optionsService . onOptionChange ( e => this . _colorManager ! . onOptionsChange ( e ) ) ;
416+ this . register ( this . optionsService . onOptionChange ( e => this . _colorManager ! . onOptionsChange ( e ) ) ) ;
417417 this . _colorManager . setTheme ( this . _theme ) ;
418418
419419 const renderer = this . _createRenderer ( ) ;
420- this . _renderService = this . _instantiationService . createInstance ( RenderService , renderer , this . rows , this . screenElement ) ;
420+ this . _renderService = this . register ( this . _instantiationService . createInstance ( RenderService , renderer , this . rows , this . screenElement ) ) ;
421421 this . _instantiationService . setService ( IRenderService , this . _renderService ) ;
422- this . _renderService . onRenderedBufferChange ( e => this . _onRender . fire ( e ) ) ;
422+ this . register ( this . _renderService . onRenderedBufferChange ( e => this . _onRender . fire ( e ) ) ) ;
423423 this . onResize ( e => this . _renderService ! . resize ( e . cols , e . rows ) ) ;
424424
425425 this . _soundService = this . _instantiationService . createInstance ( SoundService ) ;
@@ -442,13 +442,13 @@ export class Terminal extends CoreTerminal implements ITerminal {
442442 this . register ( this . onFocus ( ( ) => this . _renderService ! . onFocus ( ) ) ) ;
443443 this . register ( this . _renderService . onDimensionsChange ( ( ) => this . viewport ! . syncScrollArea ( ) ) ) ;
444444
445- this . _selectionService = this . _instantiationService . createInstance ( SelectionService ,
446- ( amount : number , suppressEvent : boolean ) => this . scrollLines ( amount , suppressEvent ) ,
445+ this . _selectionService = this . register ( this . _instantiationService . createInstance ( SelectionService ,
447446 this . element ,
448- this . screenElement ) ;
447+ this . screenElement ) ) ;
449448 this . _instantiationService . setService ( ISelectionService , this . _selectionService ) ;
449+ this . register ( this . _selectionService . onRequestScrollLines ( e => this . scrollLines ( e . amount , e . suppressScrollEvent ) ) ) ;
450450 this . register ( this . _selectionService . onSelectionChange ( ( ) => this . _onSelectionChange . fire ( ) ) ) ;
451- this . register ( this . _selectionService . onRedrawRequest ( e => this . _renderService ! . onSelectionChanged ( e . start , e . end , e . columnSelectMode ) ) ) ;
451+ this . register ( this . _selectionService . onRequestRedraw ( e => this . _renderService ! . onSelectionChanged ( e . start , e . end , e . columnSelectMode ) ) ) ;
452452 this . register ( this . _selectionService . onLinuxMouseSelection ( text => {
453453 // If there's a new selection, put it into the textarea, focus and select it
454454 // in order to register it as a selection on the OS. This event is fired
@@ -646,7 +646,7 @@ export class Terminal extends CoreTerminal implements ITerminal {
646646 }
647647 }
648648 } ;
649- this . _coreMouseService . onProtocolChange ( events => {
649+ this . register ( this . _coreMouseService . onProtocolChange ( events => {
650650 // apply global changes on events
651651 if ( events ) {
652652 if ( this . optionsService . options . logLevel === 'debug' ) {
@@ -691,7 +691,7 @@ export class Terminal extends CoreTerminal implements ITerminal {
691691 } else if ( ! requestedEvents . mousedrag ) {
692692 requestedEvents . mousedrag = eventListeners . mousedrag ;
693693 }
694- } ) ;
694+ } ) ) ;
695695 // force initial onProtocolChange so we dont miss early mouse requests
696696 this . _coreMouseService . activeProtocol = this . _coreMouseService . activeProtocol ;
697697
0 commit comments