diff --git a/src/Files.App/ViewModels/UserControls/NavigationToolbarViewModel.cs b/src/Files.App/ViewModels/UserControls/NavigationToolbarViewModel.cs index e3b7b968c59f..2b1cd5fa52a3 100644 --- a/src/Files.App/ViewModels/UserControls/NavigationToolbarViewModel.cs +++ b/src/Files.App/ViewModels/UserControls/NavigationToolbarViewModel.cs @@ -500,12 +500,13 @@ await MainWindow.Instance.DispatcherQueue.EnqueueOrInvokeAsync( public async Task HandleItemNavigationAsync(string path) { - if (ContentPageContext.ShellPage is null || PathComponents.LastOrDefault()?.Path is not { } currentPath) + if (ContentPageContext.ShellPage is null) return; + var currentPath = PathComponents.LastOrDefault()?.Path; var isFtp = FtpHelpers.IsFtpPath(path); var normalizedInput = NormalizePathInput(path, isFtp); - if (currentPath.Equals(normalizedInput, StringComparison.OrdinalIgnoreCase) || + if (currentPath is not null && currentPath.Equals(normalizedInput, StringComparison.OrdinalIgnoreCase) || string.IsNullOrWhiteSpace(normalizedInput)) return; @@ -534,7 +535,7 @@ public async Task HandleItemNavigationAsync(string path) else { normalizedInput = StorageFileExtensions.GetResolvedPath(normalizedInput, isFtp); - if (currentPath.Equals(normalizedInput, StringComparison.OrdinalIgnoreCase)) + if (currentPath is not null && currentPath.Equals(normalizedInput, StringComparison.OrdinalIgnoreCase)) return; var item = await FilesystemTasks.Wrap(() => DriveHelpers.GetRootFromPathAsync(normalizedInput));