64 lines
2.2 KiB
C#
64 lines
2.2 KiB
C#
/******************************************************************************/
|
|
/* SlunkCrypt, by LoRd_MuldeR <MuldeR2@GMX.de> */
|
|
/* This work has been released under the CC0 1.0 Universal license! */
|
|
/******************************************************************************/
|
|
|
|
using System;
|
|
using System.Windows;
|
|
using System.Windows.Interop;
|
|
using System.Windows.Media;
|
|
|
|
namespace com.muldersoft.slunkcrypt.gui
|
|
{
|
|
public partial class App : Application
|
|
{
|
|
public App()
|
|
{
|
|
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(ExceptionHandler);
|
|
}
|
|
|
|
protected override void OnStartup(StartupEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (Array.Exists(e.Args, str => StrCaseCmp(str, "--render-mode=software")) || StrCaseCmp(Environment.GetEnvironmentVariable("SLUNK_RENDER_MODE"), "software"))
|
|
{
|
|
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
private static void ExceptionHandler(object sender, UnhandledExceptionEventArgs args)
|
|
{
|
|
Exception exception;
|
|
if (!ReferenceEquals(exception = args.ExceptionObject as Exception, null))
|
|
{
|
|
MessageBox.Show("Unhandeled exception error:\n\n" + exception.Message, exception.GetType().Name, MessageBoxButton.OK, MessageBoxImage.Error);
|
|
}
|
|
Environment.Exit(-1);
|
|
}
|
|
|
|
protected void FrameworkElement_PreviewUserInputEvent(object sender, RoutedEventArgs e)
|
|
{
|
|
FrameworkElement element = sender as FrameworkElement;
|
|
if (!ReferenceEquals(element, null))
|
|
{
|
|
if (!element.IsHitTestVisible)
|
|
{
|
|
e.Handled = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
private static bool StrCaseCmp(string s1, string s2)
|
|
{
|
|
if ((!ReferenceEquals(s1, null)) && (!ReferenceEquals(s2, null)))
|
|
{
|
|
return string.Equals(s1.Trim(), s2.Trim(), StringComparison.OrdinalIgnoreCase);
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
}
|