Ensure all viewport scroll events are handled by buffer

Some scroll events were never making it to the buffer service when using
a trackpad.

See microsoft/vscode#121017
Fixes #3311
This commit is contained in:
Daniel Imms
2021-04-28 12:51:40 -07:00
parent 376b29673b
commit d616aaa4f8
+2 -4
View File
@@ -476,7 +476,7 @@ export class Terminal extends CoreTerminal implements ITerminal {
this._instantiationService.setService(IMouseService, this._mouseService);
this.viewport = this._instantiationService.createInstance(Viewport,
(amount: number) => this.scrollLines(amount, false, ScrollSource.VIEWPORT),
(amount: number) => this.scrollLines(amount, true, ScrollSource.VIEWPORT),
this._viewportElement,
this._viewportScrollArea
);
@@ -511,9 +511,7 @@ export class Terminal extends CoreTerminal implements ITerminal {
this.textarea!.select();
}));
this.register(this._onScroll.event(ev => {
if (ev.source !== ScrollSource.VIEWPORT) {
this.viewport!.syncScrollArea();
}
this.viewport!.syncScrollArea();
this._selectionService!.refresh();
}));
this.register(addDisposableDomListener(this._viewportElement, 'scroll', () => this._selectionService!.refresh()));