diff --git a/Artemis/Artemis/App.xaml b/Artemis/Artemis/App.xaml index 93c331058..d19aed2d9 100644 --- a/Artemis/Artemis/App.xaml +++ b/Artemis/Artemis/App.xaml @@ -17,7 +17,7 @@ + Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> diff --git a/Artemis/Artemis/Managers/MainManager.cs b/Artemis/Artemis/Managers/MainManager.cs index abd890db5..d8245b584 100644 --- a/Artemis/Artemis/Managers/MainManager.cs +++ b/Artemis/Artemis/Managers/MainManager.cs @@ -1,5 +1,4 @@ -using System; -using System.ComponentModel; +using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Threading; @@ -30,8 +29,12 @@ namespace Artemis.Managers _fps = 25; UpdateWorker = new BackgroundWorker {WorkerSupportsCancellation = true}; _processWorker = new BackgroundWorker(); + UpdateWorker.DoWork += UpdateWorker_DoWork; + UpdateWorker.RunWorkerCompleted += BackgroundWorkerExceptionCatcher; + _processWorker.DoWork += ProcessWorker_DoWork; + _processWorker.RunWorkerCompleted += BackgroundWorkerExceptionCatcher; // Process worker will always run (and just do nothing when ProgramEnabled is false) _processWorker.RunWorkerAsync(); @@ -156,7 +159,7 @@ namespace Artemis.Managers if (_paused) { PauseCallback?.Invoke(); - Thread.Sleep(1000 / _fps); + Thread.Sleep(1000/_fps); continue; } @@ -210,6 +213,12 @@ namespace Artemis.Managers } } + private void BackgroundWorkerExceptionCatcher(object sender, RunWorkerCompletedEventArgs e) + { + if (e.Error != null) + throw e.Error; + } + private void ProcessWorker_DoWork(object sender, DoWorkEventArgs e) { while (true) diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs index 5fbf08020..9211b2c72 100644 --- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs +++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs @@ -92,7 +92,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer } public override void Update() - { + { // Start filling the model _generating = true;