|
@@ -101,7 +101,7 @@ public class MainWindowViewModel : ViewModelBase
|
|
|
{
|
|
|
var changelog = await Downloader.DownloadAndDeserializeJsonData<List<Changelog>>("https://files.veloe.link/launcher/changelog.json");
|
|
|
|
|
|
- if (changelog is not null && Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
|
+ if (changelog is not null && Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop && desktop.MainWindow is not null)
|
|
|
{
|
|
|
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
|
|
Dispatcher.UIThread.InvokeAsync(() =>
|
|
@@ -165,7 +165,7 @@ public class MainWindowViewModel : ViewModelBase
|
|
|
_connection.Reconnecting += reconnecting;
|
|
|
_connection.Reconnected += reconnected;
|
|
|
|
|
|
- if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
|
+ if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop && desktop.MainWindow is not null)
|
|
|
{
|
|
|
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
|
|
Dispatcher.UIThread.InvokeAsync(() =>
|
|
@@ -397,7 +397,7 @@ public class MainWindowViewModel : ViewModelBase
|
|
|
DataContext = versionsDownloaderViewModel
|
|
|
};
|
|
|
|
|
|
- if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
|
+ if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop && desktop.MainWindow is not null)
|
|
|
{
|
|
|
versionsDownloader.Closed += updateAvailable;
|
|
|
versionsDownloader.ShowDialog(desktop.MainWindow);
|
|
@@ -622,7 +622,7 @@ public class MainWindowViewModel : ViewModelBase
|
|
|
{
|
|
|
Dispatcher.UIThread.InvokeAsync(() =>
|
|
|
{
|
|
|
- var scroll = desktop.MainWindow.GetControl<ScrollViewer>(scrollName);
|
|
|
+ var scroll = desktop.MainWindow?.GetControl<ScrollViewer>(scrollName);
|
|
|
scroll?.ScrollToEnd();
|
|
|
});
|
|
|
|
|
@@ -739,7 +739,7 @@ public class MainWindowViewModel : ViewModelBase
|
|
|
{
|
|
|
var settingsWindow = new SettingsWindow { DataContext = new SettingsWindowViewModel() };
|
|
|
|
|
|
- if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
|
+ if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop && desktop.MainWindow is not null)
|
|
|
{
|
|
|
settingsWindow.Closed += updateAvailable;
|
|
|
settingsWindow.ShowDialog(desktop.MainWindow);
|
|
@@ -755,16 +755,14 @@ public class MainWindowViewModel : ViewModelBase
|
|
|
updater.StartInfo.FileName += ".exe";
|
|
|
|
|
|
if (!File.Exists(updater.StartInfo.FileName))
|
|
|
- Task.Run(()=>UpdateUpdater()).Wait();
|
|
|
+ Task.Run(UpdateUpdater).Wait();
|
|
|
|
|
|
if (File.Exists(updater.StartInfo.FileName))
|
|
|
{
|
|
|
updater.Start();
|
|
|
|
|
|
- if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
|
- {
|
|
|
+ if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop && desktop.MainWindow is not null)
|
|
|
desktop.MainWindow.Close();
|
|
|
- }
|
|
|
}
|
|
|
else
|
|
|
OpenErrorWindow(new FileNotFoundException($"File {updater.StartInfo.FileName} not found!"));
|