Fix STAThread error

This commit is contained in:
Michael Bucari-Tovo 2022-07-14 18:25:28 -06:00
parent 428ea5e864
commit efd6156fa8
2 changed files with 7 additions and 6 deletions

View File

@ -219,6 +219,7 @@ namespace LibationWinForms.AvaloniaUI
var vm = new MessageBoxViewModel(message, caption, buttons, icon, defaultButton); var vm = new MessageBoxViewModel(message, caption, buttons, icon, defaultButton);
dialog.DataContext = vm; dialog.DataContext = vm;
dialog.CanResize = false; dialog.CanResize = false;
dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;
var tbx = dialog.FindControl<TextBlock>("messageTextBlock"); var tbx = dialog.FindControl<TextBlock>("messageTextBlock");
tbx.MinWidth = vm.TextBlockMinWidth; tbx.MinWidth = vm.TextBlockMinWidth;

View File

@ -19,7 +19,7 @@ namespace LibationWinForms
static extern bool AllocConsole(); static extern bool AllocConsole();
[STAThread] [STAThread]
static async Task Main() static void Main()
{ {
var config = LoadLibationConfig(); var config = LoadLibationConfig();
@ -61,22 +61,22 @@ namespace LibationWinForms
if (true) //(config.GetNonString<bool>("BetaOptIn")) if (true) //(config.GetNonString<bool>("BetaOptIn"))
{ {
//Start as much work in parallel as possible. //Start as much work in parallel as possible.
var runPreStartTasksTask = Task.Run(() => RunDbMigrations(config)); var runDbMigrationsTask = Task.Run(() => RunDbMigrations(config));
var classicLifetimeTask = Task.Run(() => new ClassicDesktopStyleApplicationLifetime()); var classicLifetimeTask = Task.Run(() => new ClassicDesktopStyleApplicationLifetime());
var appBuilderTask = Task.Run(BuildAvaloniaApp); var appBuilderTask = Task.Run(BuildAvaloniaApp);
if (!await runPreStartTasksTask) if (!runDbMigrationsTask.GetAwaiter().GetResult())
return; return;
var runOtherMigrationsTask = Task.Run(() => RunOtherMigrations(config)); var runOtherMigrationsTask = Task.Run(() => RunOtherMigrations(config));
var dbLibraryTask = Task.Run(() => DbContexts.GetLibrary_Flat_NoTracking(includeParents: true)); var dbLibraryTask = Task.Run(() => DbContexts.GetLibrary_Flat_NoTracking(includeParents: true));
(await appBuilderTask).SetupWithLifetime(await classicLifetimeTask); appBuilderTask.GetAwaiter().GetResult().SetupWithLifetime(classicLifetimeTask.GetAwaiter().GetResult());
if (!await runOtherMigrationsTask) if (!runOtherMigrationsTask.GetAwaiter().GetResult())
return; return;
((AvaloniaUI.Views.MainWindow)classicLifetimeTask.Result.MainWindow).OnLibraryLoaded(await dbLibraryTask); ((AvaloniaUI.Views.MainWindow)classicLifetimeTask.Result.MainWindow).OnLibraryLoaded(dbLibraryTask.GetAwaiter().GetResult());
classicLifetimeTask.Result.Start(null); classicLifetimeTask.Result.Start(null);
} }