Force reset to use sync render

Fixes #5184
This commit is contained in:
Daniel Imms
2025-12-28 15:16:23 -08:00
parent 4619a755b1
commit 2fb42c554e
3 changed files with 7 additions and 7 deletions
+3 -3
View File
@@ -847,8 +847,8 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
* @param start The row to start from (between 0 and this.rows - 1).
* @param end The row to end at (between start and this.rows - 1).
*/
public refresh(start: number, end: number): void {
this._renderService?.refreshRows(start, end);
public refresh(start: number, end: number, sync: boolean = false): void {
this._renderService?.refreshRows(start, end, sync);
}
/**
@@ -1281,7 +1281,7 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
this._customKeyEventHandler = customKeyEventHandler;
// do a full screen refresh
this.refresh(0, this.rows - 1);
this.refresh(0, this.rows - 1, true);
}
public clearTextureAtlas(): void {
+3 -3
View File
@@ -111,7 +111,7 @@ export class RenderService extends Disposable implements IRenderService {
this._register(this._optionsService.onMultipleOptionChange([
'cursorBlink',
'cursorStyle'
], () => this.refreshRows(bufferService.buffer.y, bufferService.buffer.y, true)));
], () => this.refreshRows(bufferService.buffer.y, bufferService.buffer.y, undefined, true)));
this._register(themeService.onChangeColors(() => this._fullRefresh()));
@@ -144,7 +144,7 @@ export class RenderService extends Disposable implements IRenderService {
}
}
public refreshRows(start: number, end: number, isRedrawOnly: boolean = false, sync: boolean = false): void {
public refreshRows(start: number, end: number, sync: boolean = false, isRedrawOnly: boolean = false): void {
if (this._isPaused) {
this._needsFullRefresh = true;
return;
@@ -239,7 +239,7 @@ export class RenderService extends Disposable implements IRenderService {
this._renderer.value = renderer;
// If the value was not set, the terminal is being disposed so ignore it
if (this._renderer.value) {
this._renderer.value.onRequestRedraw(e => this.refreshRows(e.start, e.end, true, e.sync));
this._renderer.value.onRequestRedraw(e => this.refreshRows(e.start, e.end, e.sync, true));
// Force a refresh
this._needsSelectionRefresh = true;
+1 -1
View File
@@ -77,7 +77,7 @@ export interface IRenderService extends IDisposable {
addRefreshCallback(callback: FrameRequestCallback): number;
refreshRows(start: number, end: number): void;
refreshRows(start: number, end: number, sync?: boolean): void;
clearTextureAtlas(): void;
resize(cols: number, rows: number): void;
hasRenderer(): boolean;