1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00

Implemented error messaging, this resolves #9

This commit is contained in:
SpoinkyNL 2016-01-31 13:34:58 +01:00
parent 81c5b82177
commit c2c002715c
4 changed files with 47 additions and 12 deletions

View File

@ -1,7 +1,9 @@
<Application x:Class="Artemis.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Artemis">
xmlns:local="clr-namespace:Artemis"
DispatcherUnhandledException="Application_DispatcherUnhandledException"
Startup="Application_Startup">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>

View File

@ -1,4 +1,7 @@
using System.Windows;
using System;
using System.Windows;
using System.Windows.Threading;
using WpfExceptionViewer;
namespace Artemis
{
@ -11,5 +14,43 @@ namespace Artemis
{
InitializeComponent();
}
public bool DoHandle { get; set; }
private void Application_Startup(object sender, StartupEventArgs e)
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
}
private void Application_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
if (DoHandle)
{
GetArtemisExceptionViewer(e.Exception).ShowDialog();
e.Handled = true;
}
else
{
GetArtemisExceptionViewer(e.Exception).ShowDialog();
e.Handled = false;
}
}
private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var ex = e.ExceptionObject as Exception;
GetArtemisExceptionViewer(ex).ShowDialog();
}
private static ExceptionViewer GetArtemisExceptionViewer(Exception e)
{
return new ExceptionViewer("An unexpected error occurred in Artemis.", e)
{
Title = "Artemis - Exception :c",
Height = 400,
Width = 800
};
}
}
}

View File

@ -15,15 +15,7 @@ namespace Artemis
protected override void OnStartup(object sender, StartupEventArgs e)
{
try
{
DisplayRootViewFor<ShellViewModel>();
}
catch (Exception ex)
{
MessageBox.Show("Startup failed :c \n" + ex.InnerException.Message);
throw;
}
DisplayRootViewFor<ShellViewModel>();
}
}
}

View File

@ -93,7 +93,7 @@ namespace Artemis.Modules.Games.CounterStrike
var smoked = CsJson["player"]["state"]["smoked"].Value<int>();
if (smoked == 0 && !DrawingSmoke)
return;
EventRect.Colors = new List<Color> {Color.FromArgb(smoked, 255, 255, 255)};
DrawingSmoke = (smoked != 0);
}