Merge branch 'master' into allowmarkersonaltbuffer

This commit is contained in:
Daniel Imms
2022-07-28 11:05:24 -07:00
committed by GitHub
6 changed files with 20 additions and 7 deletions
@@ -54,6 +54,12 @@ export class CursorRenderLayer extends BaseRenderLayer {
this.onOptionsChanged(terminal); this.onOptionsChanged(terminal);
} }
public override dispose(): void {
this._cursorBlinkStateManager?.dispose();
this._cursorBlinkStateManager = undefined;
super.dispose();
}
public resize(terminal: Terminal, dim: IRenderDimensions): void { public resize(terminal: Terminal, dim: IRenderDimensions): void {
super.resize(terminal, dim); super.resize(terminal, dim);
// Resizing the canvas discards the contents of the canvas so clear state // Resizing the canvas discards the contents of the canvas so clear state
+5
View File
@@ -38,6 +38,11 @@ export class Linkifier2 extends Disposable implements ILinkifier2 {
this.register(getDisposeArrayDisposable(this._linkCacheDisposables)); this.register(getDisposeArrayDisposable(this._linkCacheDisposables));
} }
public dispose(): void {
super.dispose();
this._lastMouseEvent = undefined;
}
public registerLinkProvider(linkProvider: ILinkProvider): IDisposable { public registerLinkProvider(linkProvider: ILinkProvider): IDisposable {
this._linkProviders.push(linkProvider); this._linkProviders.push(linkProvider);
return { return {
+2 -2
View File
@@ -586,11 +586,11 @@ export class Terminal extends CoreTerminal implements ITerminal {
} }
if (this.options.overviewRulerWidth) { if (this.options.overviewRulerWidth) {
this._overviewRulerRenderer = this._instantiationService.createInstance(OverviewRulerRenderer, this._viewportElement, this.screenElement); this._overviewRulerRenderer = this.register(this._instantiationService.createInstance(OverviewRulerRenderer, this._viewportElement, this.screenElement));
} }
this.optionsService.onOptionChange(() => { this.optionsService.onOptionChange(() => {
if (!this._overviewRulerRenderer && this.options.overviewRulerWidth && this._viewportElement && this.screenElement) { if (!this._overviewRulerRenderer && this.options.overviewRulerWidth && this._viewportElement && this.screenElement) {
this._overviewRulerRenderer = this._instantiationService.createInstance(OverviewRulerRenderer, this._viewportElement, this.screenElement); this._overviewRulerRenderer = this.register(this._instantiationService.createInstance(OverviewRulerRenderer, this._viewportElement, this.screenElement));
} }
}); });
// Measure the character size // Measure the character size
+1 -1
View File
@@ -168,7 +168,7 @@ export interface ILinkWithState {
state?: ILinkState; state?: ILinkState;
} }
export interface ILinkifier2 { export interface ILinkifier2 extends IDisposable {
onShowLinkUnderline: IEvent<ILinkifierEvent>; onShowLinkUnderline: IEvent<ILinkifierEvent>;
onHideLinkUnderline: IEvent<ILinkifierEvent>; onHideLinkUnderline: IEvent<ILinkifierEvent>;
readonly currentLink: ILinkWithState | undefined; readonly currentLink: ILinkWithState | undefined;
+4 -3
View File
@@ -637,9 +637,10 @@ declare module 'xterm-headless' {
registerMarker(cursorYOffset?: number): IMarker | undefined; registerMarker(cursorYOffset?: number): IMarker | undefined;
/* /*
* Disposes of the terminal, detaching it from the DOM and removing any * Disposes of the terminal, detaching it from the DOM and removing any
* active listeners. * active listeners. Once the terminal is disposed it should not be used
*/ * again.
*/
dispose(): void; dispose(): void;
/** /**
+2 -1
View File
@@ -952,7 +952,8 @@ declare module 'xterm' {
/* /*
* Disposes of the terminal, detaching it from the DOM and removing any * Disposes of the terminal, detaching it from the DOM and removing any
* active listeners. * active listeners. Once the terminal is disposed it should not be used
* again.
*/ */
dispose(): void; dispose(): void;