From 2607159591758f879516ac17d7b8b748c4575c85 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Tue, 14 Sep 2010 14:22:47 +0200 Subject: [PATCH] Validate language when starting up SharpDevelop. --- src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs | 4 +++- .../Base/Project/Src/Services/Language/LanguageService.cs | 8 ++++++++ .../Src/Services/ResourceService/ResourceService.cs | 4 +++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs b/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs index eab1cc30f2..1af201ad70 100644 --- a/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs +++ b/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs @@ -62,7 +62,9 @@ namespace ICSharpCode.SharpDevelop.Gui public static void InitializeWorkbench(IWorkbench workbench, IWorkbenchLayout layout) { WorkbenchSingleton.workbench = workbench; - + + LanguageService.ValidateLanguage(); + DisplayBindingService.InitializeService(); LayoutConfiguration.LoadLayoutConfiguration(); FileService.InitializeService(); diff --git a/src/Main/Base/Project/Src/Services/Language/LanguageService.cs b/src/Main/Base/Project/Src/Services/Language/LanguageService.cs index 949597353b..49647df985 100644 --- a/src/Main/Base/Project/Src/Services/Language/LanguageService.cs +++ b/src/Main/Base/Project/Src/Services/Language/LanguageService.cs @@ -58,5 +58,13 @@ namespace ICSharpCode.SharpDevelop } LanguageService.languages = languages.AsReadOnly(); } + + /// + /// Ensures that the active language exists + /// + public static void ValidateLanguage() + { + ResourceService.Language = GetLanguage(ResourceService.Language).Code; + } } } diff --git a/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs b/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs index 163470aec5..0ccfbffe37 100644 --- a/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs +++ b/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs @@ -42,7 +42,9 @@ namespace ICSharpCode.Core return PropertyService.Get(uiLanguageProperty, Thread.CurrentThread.CurrentUICulture.Name); } set { - PropertyService.Set(uiLanguageProperty, value); + if (Language != value) { + PropertyService.Set(uiLanguageProperty, value); + } } }