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 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). * @param end The row to end at (between start and this.rows - 1).
*/ */
public refresh(start: number, end: number): void { public refresh(start: number, end: number, sync: boolean = false): void {
this._renderService?.refreshRows(start, end); this._renderService?.refreshRows(start, end, sync);
} }
/** /**
@@ -1281,7 +1281,7 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
this._customKeyEventHandler = customKeyEventHandler; this._customKeyEventHandler = customKeyEventHandler;
// do a full screen refresh // do a full screen refresh
this.refresh(0, this.rows - 1); this.refresh(0, this.rows - 1, true);
} }
public clearTextureAtlas(): void { public clearTextureAtlas(): void {
+3 -3
View File
@@ -111,7 +111,7 @@ export class RenderService extends Disposable implements IRenderService {
this._register(this._optionsService.onMultipleOptionChange([ this._register(this._optionsService.onMultipleOptionChange([
'cursorBlink', 'cursorBlink',
'cursorStyle' '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())); 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) { if (this._isPaused) {
this._needsFullRefresh = true; this._needsFullRefresh = true;
return; return;
@@ -239,7 +239,7 @@ export class RenderService extends Disposable implements IRenderService {
this._renderer.value = renderer; this._renderer.value = renderer;
// If the value was not set, the terminal is being disposed so ignore it // If the value was not set, the terminal is being disposed so ignore it
if (this._renderer.value) { 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 // Force a refresh
this._needsSelectionRefresh = true; this._needsSelectionRefresh = true;
+1 -1
View File
@@ -77,7 +77,7 @@ export interface IRenderService extends IDisposable {
addRefreshCallback(callback: FrameRequestCallback): number; addRefreshCallback(callback: FrameRequestCallback): number;
refreshRows(start: number, end: number): void; refreshRows(start: number, end: number, sync?: boolean): void;
clearTextureAtlas(): void; clearTextureAtlas(): void;
resize(cols: number, rows: number): void; resize(cols: number, rows: number): void;
hasRenderer(): boolean; hasRenderer(): boolean;