diff --git a/src/vs/workbench/electron-browser/integration.ts b/src/vs/workbench/electron-browser/integration.ts index fa4fc93a1694d5f29661d21ed2ef34e76fcd0ebb..4832564d8ff6b8be3b0bc55504dda88f7b4deb5e 100644 --- a/src/vs/workbench/electron-browser/integration.ts +++ b/src/vs/workbench/electron-browser/integration.ts @@ -103,12 +103,20 @@ export class ElectronIntegration { }); // Configuration changes + let previousConfiguredZoomLevel: number; this.configurationService.addListener(ConfigurationServiceEventTypes.UPDATED, (e: IConfigurationServiceEvent) => { let windowConfig: IWindowConfiguration = e.config; let newZoomLevel = 0; if (windowConfig.window && typeof windowConfig.window.zoomLevel === 'number') { newZoomLevel = windowConfig.window.zoomLevel; + + // Leave early if the configured zoom level did not change (https://github.com/Microsoft/vscode/issues/1536) + if (previousConfiguredZoomLevel === newZoomLevel) { + return; + } + + previousConfiguredZoomLevel = newZoomLevel; } if (webFrame.getZoomLevel() !== newZoomLevel) {