From 2303946accad2622903292e29eeb94a473a6cf4a Mon Sep 17 00:00:00 2001 From: "seer-by-sentry[bot]" <157164994+seer-by-sentry[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 08:26:08 +0000 Subject: [PATCH] Fix: Return default layout preferences if path is inaccessible --- .../Helpers/Layout/LayoutPreferencesManager.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs b/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs index d3e74adb7433..a3179d217929 100644 --- a/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs +++ b/src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs @@ -488,6 +488,9 @@ public static void SetLayoutPreferencesForPath(string path, LayoutPreferencesIte { if (!UserSettingsService.LayoutSettingsService.SyncFolderPreferencesAcrossDirectories) { + if (!IsPathAccessible(path)) + return GetDefaultLayoutPreferences(path); + path = path.TrimPath() ?? string.Empty; return SafetyExtensions.IgnoreExceptions(() => @@ -563,6 +566,18 @@ public static void SetLayoutPreferencesForPath(string path, LayoutPreferencesIte } } + private static bool IsPathAccessible(string path) + { + try + { + return !string.IsNullOrEmpty(path) && Directory.Exists(path); + } + catch (Exception) + { + return false; + } + } + private static bool SetLayoutPreferencesToDatabase(string path, ulong? frn, LayoutPreferencesItem preferencesItem) { if (string.IsNullOrEmpty(path))