From 5f70b3f3be5c70d08b76e7ce62f60d47db6a138c Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sat, 18 May 2019 19:22:51 -0700 Subject: [PATCH] Move window resize listener to render coordinator --- src/Terminal.ts | 3 --- src/renderer/RenderCoordinator.ts | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Terminal.ts b/src/Terminal.ts index d82b5bf31..e06938d95 100644 --- a/src/Terminal.ts +++ b/src/Terminal.ts @@ -778,9 +778,6 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II this.register(this.onResize(() => this.renderer.onResize(this.cols, this.rows))); this.register(this.addDisposableListener('blur', () => this.renderer.onBlur())); this.register(this.addDisposableListener('focus', () => this.renderer.onFocus())); - // dprchange should handle this case, we need this as well for browsers that don't support the - // matchMedia query. - this.register(addDisposableDomListener(window, 'resize', () => this.renderer.onWindowResize(window.devicePixelRatio))); this.register(this.charMeasure.onCharSizeChanged(() => this.renderer.onCharSizeChanged())); this.register(this._renderCoordinator.onCanvasResize(() => this.viewport.syncScrollArea())); diff --git a/src/renderer/RenderCoordinator.ts b/src/renderer/RenderCoordinator.ts index 3b9eed2dc..4d051640a 100644 --- a/src/renderer/RenderCoordinator.ts +++ b/src/renderer/RenderCoordinator.ts @@ -8,6 +8,7 @@ import { RenderDebouncer } from '../ui/RenderDebouncer'; import { EventEmitter2, IEvent } from '../common/EventEmitter2'; import { Disposable } from '../common/Lifecycle'; import { ScreenDprMonitor } from '../../lib/ui/ScreenDprMonitor'; +import { addDisposableDomListener } from '../ui/Lifecycle'; export class RenderCoordinator extends Disposable { private _renderDebouncer: RenderDebouncer; @@ -32,6 +33,10 @@ export class RenderCoordinator extends Disposable { this._screenDprMonitor = new ScreenDprMonitor(); this._screenDprMonitor.setListener(() => this._renderer.onWindowResize(window.devicePixelRatio)); this.register(this._screenDprMonitor); + + // dprchange should handle this case, we need this as well for browsers that don't support the + // matchMedia query. + this.register(addDisposableDomListener(window, 'resize', () => this._renderer.onWindowResize(window.devicePixelRatio))); } public refreshRows(start: number, end: number): void {