Merge pull request #5411 from xtermjs/anthonykim1/fixTeleportWhenAltScroll

Fix teleport when exiting out of alt buffer. v2
This commit is contained in:
Anthony Kim
2025-10-17 09:20:23 -07:00
committed by GitHub
+7 -2
View File
@@ -94,7 +94,12 @@ export class Viewport extends Disposable {
}));
this._register(this._bufferService.onResize(() => this.queueSync()));
this._register(this._bufferService.buffers.onBufferActivate(() => this.queueSync()));
this._register(this._bufferService.buffers.onBufferActivate(() => {
// Reset _latestYDisp when switching buffers to prevent stale scroll position
// from alt buffer contaminating normal buffer scroll position
this._latestYDisp = undefined;
this.queueSync();
}));
this._register(this._bufferService.onScroll(() => this._sync()));
this._register(this._scrollableElement.onScroll(e => this._handleScroll(e)));
@@ -157,7 +162,7 @@ export class Viewport extends Disposable {
});
this._suppressOnScrollHandler = false;
// If ydisp has been changed by some other copmonent (input/buffer), then stop animating smooth
// If ydisp has been changed by some other component (input/buffer), then stop animating smooth
// scroll and scroll there immediately.
if (ydisp !== this._latestYDisp) {
this._scrollableElement.setScrollPosition({