diff --git a/Aaru.CommonTypes b/Aaru.CommonTypes index 84f759b01..8336bde2d 160000 --- a/Aaru.CommonTypes +++ b/Aaru.CommonTypes @@ -1 +1 @@ -Subproject commit 84f759b015b01b10750815691ce59922dd1a9eec +Subproject commit 8336bde2df1eac664c5288c11974a718a2667cf7 diff --git a/Aaru.Gui/ViewModels/Dialogs/PluginsViewModel.cs b/Aaru.Gui/ViewModels/Dialogs/PluginsViewModel.cs index 000ffb3b6..f5d67ed68 100644 --- a/Aaru.Gui/ViewModels/Dialogs/PluginsViewModel.cs +++ b/Aaru.Gui/ViewModels/Dialogs/PluginsViewModel.cs @@ -85,7 +85,7 @@ public sealed class PluginsViewModel : ViewModelBase { Name = floppyImage.Name, Uuid = floppyImage.Id, - Version = Assembly.GetAssembly(floppyImage.GetType())?.GetName().Version?.ToString(), + Version = Assembly.GetAssembly(imageType)?.GetName().Version?.ToString(), Author = floppyImage.Author }); } @@ -146,14 +146,19 @@ public sealed class PluginsViewModel : ViewModelBase }); } - foreach(IWritableFloppyImage writableFloppyImage in GetPluginBase.Instance.WritableFloppyImages.Values) + foreach(Type imageType in GetPluginBase.Instance.WritableFloppyImages.Values) + { + if(Activator.CreateInstance(imageType) is not IWritableFloppyImage writableFloppyImage) + continue; + WritableFloppyImages.Add(new PluginModel { Name = writableFloppyImage.Name, Uuid = writableFloppyImage.Id, - Version = Assembly.GetAssembly(writableFloppyImage.GetType())?.GetName().Version?.ToString(), + Version = Assembly.GetAssembly(imageType)?.GetName().Version?.ToString(), Author = writableFloppyImage.Author }); + } foreach(Type baseWritableImageType in GetPluginBase.Instance.WritableImages.Values) { @@ -164,7 +169,7 @@ public sealed class PluginsViewModel : ViewModelBase { Name = writableImage.Name, Uuid = writableImage.Id, - Version = Assembly.GetAssembly(writableImage.GetType())?.GetName().Version?.ToString(), + Version = Assembly.GetAssembly(baseWritableImageType)?.GetName().Version?.ToString(), Author = writableImage.Author }); }