From 03b1459ec1541b6cb4d6a3a24b2bbfa05bdb361b Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Mon, 20 Feb 2017 09:38:19 +0100 Subject: [PATCH] Theme: theme change no longer applied to settings. Fixes #20877 --- .../services/themes/electron-browser/themeService.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/services/themes/electron-browser/themeService.ts b/src/vs/workbench/services/themes/electron-browser/themeService.ts index 9943c736385..77821690157 100644 --- a/src/vs/workbench/services/themes/electron-browser/themeService.ts +++ b/src/vs/workbench/services/themes/electron-browser/themeService.ts @@ -368,7 +368,7 @@ export class ThemeService implements IThemeService { return TPromise.as(null); } if (themeId === this.currentColorTheme.id && this.currentColorTheme.isLoaded) { - return TPromise.as(this.currentColorTheme); + return this.writeColorThemeConfiguration(settingsTarget); } themeId = validateThemeId(themeId); // migrate theme ids @@ -403,8 +403,8 @@ export class ThemeService implements IThemeService { } private writeColorThemeConfiguration(settingsTarget: ConfigurationTarget) { - if (!types.isUndefinedOrNull(settingsTarget)) { - let value = this.currentColorTheme.settingsId; + let value = this.currentColorTheme.settingsId; + if (!types.isUndefinedOrNull(settingsTarget) && this.configurationService.lookup(COLOR_THEME_SETTING).value !== value) { if (settingsTarget === ConfigurationTarget.USER && this.currentColorTheme.id === DEFAULT_THEME_ID) { value = void 0; // remove key from user settings } @@ -606,8 +606,8 @@ export class ThemeService implements IThemeService { } private writeFileIconConfiguration(settingsTarget: ConfigurationTarget): TPromise { - if (!types.isUndefinedOrNull(settingsTarget)) { - let value = this.currentIconTheme.settingsId; + let value = this.currentIconTheme.settingsId; + if (!types.isUndefinedOrNull(settingsTarget) && this.configurationService.lookup(ICON_THEME_SETTING).value !== value) { if (settingsTarget === ConfigurationTarget.USER && this.currentIconTheme.id === '') { value = void 0; // remove key from user settings } -- GitLab