diff options
Diffstat (limited to 'Software/Visual_Studio/Tango.Settings')
| -rw-r--r-- | Software/Visual_Studio/Tango.Settings/SettingsManager.cs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/Software/Visual_Studio/Tango.Settings/SettingsManager.cs b/Software/Visual_Studio/Tango.Settings/SettingsManager.cs index 8455cb91d..ca213cc3f 100644 --- a/Software/Visual_Studio/Tango.Settings/SettingsManager.cs +++ b/Software/Visual_Studio/Tango.Settings/SettingsManager.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; +using System.Threading; using System.Threading.Tasks; using Tango.Logging; using Tango.Serialization; @@ -96,18 +97,34 @@ namespace Tango.Settings { if (IsInitialized) return; + IsInitialized = true; + LogManager.Log("Initializing application configuration..."); DefaultFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Twine", "Tango", "Settings.xml"); DefaultFolder = Path.GetDirectoryName(DefaultFilePath); + bool waited = false; + + Retry: + try { Default = LoadFromXML(DefaultFilePath); } catch (Exception ex) { - LogManager.Log(ex, "Could not load application configuration."); + if (!waited) + { + LogManager.Log(ex, "Could not load application configuration. Retrying in 1 second..."); + waited = true; + Thread.Sleep(1000); + goto Retry; + } + else + { + LogManager.Log(ex, "Could not load application configuration."); + } try { @@ -138,8 +155,6 @@ namespace Tango.Settings { LogManager.Log("Application configuration loaded successfully."); } - - IsInitialized = true; } } } |
