File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -636,8 +636,8 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
636636
637637 // send event to CoreMouseService
638638 function sendEvent ( ev : MouseEvent | WheelEvent ) : boolean {
639- // get mouse coordinates
640- const pos = self . _mouseService ! . getMouseReportCoords ( ev , self . screenElement ! ) ;
639+ // Get mouse coordinates
640+ const pos = self . _mouseService ? .getMouseReportCoords ( ev , self . screenElement ! ) ;
641641 if ( ! pos ) {
642642 return false ;
643643 }
@@ -804,6 +804,16 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
804804 // force initial onProtocolChange so we dont miss early mouse requests
805805 this . coreMouseService . activeProtocol = this . coreMouseService . activeProtocol ;
806806
807+ // Ensure document-level listeners are removed on dispose
808+ this . _register ( toDisposable ( ( ) => {
809+ if ( requestedEvents . mouseup ) {
810+ this . _document ! . removeEventListener ( 'mouseup' , requestedEvents . mouseup ) ;
811+ }
812+ if ( requestedEvents . mousedrag ) {
813+ this . _document ! . removeEventListener ( 'mousemove' , requestedEvents . mousedrag ) ;
814+ }
815+ } ) ) ;
816+
807817 /**
808818 * "Always on" event listeners.
809819 */
You can’t perform that action at this time.
0 commit comments