From 7715d4bddab0d68718515de41d00207da8163c20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Kaan=20K=C3=B6se?= Date: Thu, 5 Sep 2024 18:11:50 +0200 Subject: [PATCH] Fixing an issue where replacing folders with expanded items causing unmanaged crash. --- Wino.Core/MenuItems/MenuItemCollection.cs | 9 ++++----- Wino.Mail.ViewModels/AppShellViewModel.cs | 4 ++-- Wino.Packaging/Package.appxmanifest | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Wino.Core/MenuItems/MenuItemCollection.cs b/Wino.Core/MenuItems/MenuItemCollection.cs index c96351fe..53ac761a 100644 --- a/Wino.Core/MenuItems/MenuItemCollection.cs +++ b/Wino.Core/MenuItems/MenuItemCollection.cs @@ -151,12 +151,11 @@ namespace Wino.Core.MenuItems return accountMenuItem; } - public void ReplaceFolders(IEnumerable folders) + public async Task ReplaceFoldersAsync(IEnumerable folders) { - ClearFolderAreaMenuItems(); - - Items.Add(new SeperatorItem()); - AddRange(folders); + await _dispatcher.ExecuteOnUIThread(() => ClearFolderAreaMenuItems()); + await _dispatcher.ExecuteOnUIThread(() => Items.Add(new SeperatorItem())); + await _dispatcher.ExecuteOnUIThread(() => AddRange(folders, System.Collections.Specialized.NotifyCollectionChangedAction.Reset)); } /// diff --git a/Wino.Mail.ViewModels/AppShellViewModel.cs b/Wino.Mail.ViewModels/AppShellViewModel.cs index d69ce182..f7587299 100644 --- a/Wino.Mail.ViewModels/AppShellViewModel.cs +++ b/Wino.Mail.ViewModels/AppShellViewModel.cs @@ -656,10 +656,10 @@ namespace Wino.Mail.ViewModels clickedBaseAccountMenuItem.IsSelected = true; latestSelectedAccountMenuItem = clickedBaseAccountMenuItem; - - MenuItems.ReplaceFolders(folders); }); + await MenuItems.ReplaceFoldersAsync(folders); + await UpdateUnreadItemCountAsync(); await MenuItems.SetAccountMenuItemEnabledStatusAsync(true); diff --git a/Wino.Packaging/Package.appxmanifest b/Wino.Packaging/Package.appxmanifest index 75f95ec0..ecf0a3e4 100644 --- a/Wino.Packaging/Package.appxmanifest +++ b/Wino.Packaging/Package.appxmanifest @@ -11,7 +11,7 @@ + Version="1.9.1.0" />