Skip to content

Commit e948a58

Browse files
authored
Fixed a crash that would sometimes occur on startup (#1918)
1 parent 4813388 commit e948a58

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

Files/UserControls/SidebarControl.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ private void Sidebar_ItemInvoked(Microsoft.UI.Xaml.Controls.NavigationView sende
120120

121121
if (ItemPath.Equals("Home", StringComparison.OrdinalIgnoreCase)) // Home item
122122
{
123-
if (ItemPath.Equals(SelectedSidebarItem.Path, StringComparison.OrdinalIgnoreCase)) return; // return if already selected
123+
if (ItemPath.Equals(SelectedSidebarItem?.Path, StringComparison.OrdinalIgnoreCase)) return; // return if already selected
124124

125125
navigationPath = ResourceController.GetTranslation("NewTab");
126126
sourcePageType = typeof(YourHome);

Files/Views/ModernShellPage.xaml.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -118,47 +118,47 @@ private void Page_Loaded(object sender, RoutedEventArgs e)
118118
{
119119
case "Start":
120120
ItemDisplayFrame.Navigate(typeof(YourHome), NavParams, new SuppressNavigationTransitionInfo());
121-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems[0];
121+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault();
122122
break;
123123

124124
case "Desktop":
125125
NavigationPath = AppSettings.DesktopPath;
126-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.First(x => x.Path.Equals(AppSettings.DesktopPath, StringComparison.OrdinalIgnoreCase));
126+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault(x => x.Path.Equals(AppSettings.DesktopPath, StringComparison.OrdinalIgnoreCase));
127127
break;
128128

129129
case "Downloads":
130130
NavigationPath = AppSettings.DownloadsPath;
131-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.First(x => x.Path.Equals(AppSettings.DownloadsPath, StringComparison.OrdinalIgnoreCase));
131+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault(x => x.Path.Equals(AppSettings.DownloadsPath, StringComparison.OrdinalIgnoreCase));
132132
break;
133133

134134
case "Documents":
135135
NavigationPath = AppSettings.DocumentsPath;
136-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.First(x => x.Path.Equals(AppSettings.DocumentsPath, StringComparison.OrdinalIgnoreCase));
136+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault(x => x.Path.Equals(AppSettings.DocumentsPath, StringComparison.OrdinalIgnoreCase));
137137
break;
138138

139139
case "Pictures":
140140
NavigationPath = AppSettings.PicturesPath;
141-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.First(x => x.Path.Equals(AppSettings.PicturesPath, StringComparison.OrdinalIgnoreCase));
141+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault(x => x.Path.Equals(AppSettings.PicturesPath, StringComparison.OrdinalIgnoreCase));
142142
break;
143143

144144
case "Music":
145145
NavigationPath = AppSettings.MusicPath;
146-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.First(x => x.Path.Equals(AppSettings.MusicPath, StringComparison.OrdinalIgnoreCase));
146+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault(x => x.Path.Equals(AppSettings.MusicPath, StringComparison.OrdinalIgnoreCase));
147147
break;
148148

149149
case "Videos":
150150
NavigationPath = AppSettings.VideosPath;
151-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.First(x => x.Path.Equals(AppSettings.VideosPath, StringComparison.OrdinalIgnoreCase));
151+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault(x => x.Path.Equals(AppSettings.VideosPath, StringComparison.OrdinalIgnoreCase));
152152
break;
153153

154154
case "RecycleBin":
155155
NavigationPath = AppSettings.RecycleBinPath;
156-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.First(x => x.Path.Equals(AppSettings.RecycleBinPath, StringComparison.OrdinalIgnoreCase));
156+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault(x => x.Path.Equals(AppSettings.RecycleBinPath, StringComparison.OrdinalIgnoreCase));
157157
break;
158158

159159
case "OneDrive":
160160
NavigationPath = AppSettings.OneDrivePath;
161-
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.First(x => x.Path.Equals(AppSettings.OneDrivePath, StringComparison.OrdinalIgnoreCase));
161+
SidebarControl.SelectedSidebarItem = MainPage.sideBarItems.FirstOrDefault(x => x.Path.Equals(AppSettings.OneDrivePath, StringComparison.OrdinalIgnoreCase));
162162
break;
163163

164164
default:
@@ -171,12 +171,12 @@ private void Page_Loaded(object sender, RoutedEventArgs e)
171171
&& NavParams[1] == ':')
172172
{
173173
NavigationPath = NavParams;
174-
SidebarControl.SelectedSidebarItem = AppSettings.DrivesManager.Drives.First(x => x.Path.ToString().Equals($"{NavParams[0]}:\\", StringComparison.OrdinalIgnoreCase));
174+
SidebarControl.SelectedSidebarItem = AppSettings.DrivesManager.Drives.FirstOrDefault(x => x.Path.ToString().Equals($"{NavParams[0]}:\\", StringComparison.OrdinalIgnoreCase));
175175
}
176176
else if (NavParams.StartsWith("\\\\?\\"))
177177
{
178178
NavigationPath = NavParams;
179-
SidebarControl.SelectedSidebarItem = App.AppSettings.DrivesManager.Drives.First(x => x.Path.ToString().Equals($"{System.IO.Path.GetPathRoot(NavParams)}", StringComparison.OrdinalIgnoreCase));
179+
SidebarControl.SelectedSidebarItem = App.AppSettings.DrivesManager.Drives.FirstOrDefault(x => x.Path.ToString().Equals($"{System.IO.Path.GetPathRoot(NavParams)}", StringComparison.OrdinalIgnoreCase));
180180
}
181181
else if (NavParams.StartsWith(AppSettings.RecycleBinPath))
182182
{

0 commit comments

Comments
 (0)