Skip to content

Commit

Permalink
Revert "Fix: Fixed COMException in LayoutPreferencesManager.SetLayout…
Browse files Browse the repository at this point in the history
…PreferencesForPath" (#15327)
  • Loading branch information
yaira2 committed May 12, 2024
1 parent 5cf1dbe commit e67d9fb
Showing 1 changed file with 16 additions and 22 deletions.
38 changes: 16 additions & 22 deletions src/Files.App/Helpers/Layout/LayoutPreferencesManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -505,16 +505,13 @@ public static void SetLayoutPreferencesForPath(string path, LayoutPreferencesIte
{
path = path.TrimPath() ?? string.Empty;

return SafetyExtensions.IgnoreExceptions(() =>
{
if (path.StartsWith("tag:", StringComparison.Ordinal))
return GetLayoutPreferencesFromDatabase("Home", null);
if (path.StartsWith("tag:", StringComparison.Ordinal))
return GetLayoutPreferencesFromDatabase("Home", null);

var folderFRN = Win32Helper.GetFolderFRN(path);
var folderFRN = Win32Helper.GetFolderFRN(path);

return GetLayoutPreferencesFromDatabase(path, folderFRN)
?? GetLayoutPreferencesFromAds(path, folderFRN);
}, App.Logger)
return GetLayoutPreferencesFromDatabase(path, folderFRN)
?? GetLayoutPreferencesFromAds(path, folderFRN)
?? GetDefaultLayoutPreferences(path);
}

Expand All @@ -532,8 +529,8 @@ public static void SetLayoutPreferencesForPath(string path, LayoutPreferencesIte
return null;

// Port settings to the database, delete the ADS
if (SetLayoutPreferencesToDatabase(path, frn, layoutPreferences))
PInvoke.DeleteFileFromApp($"{path}:files_layoutmode");
SetLayoutPreferencesToDatabase(path, frn, layoutPreferences);
PInvoke.DeleteFileFromApp($"{path}:files_layoutmode");

return layoutPreferences;
}
Expand Down Expand Up @@ -578,23 +575,20 @@ public static void SetLayoutPreferencesForPath(string path, LayoutPreferencesIte
}
}

private static bool SetLayoutPreferencesToDatabase(string path, ulong? frn, LayoutPreferencesItem preferencesItem)
private static void SetLayoutPreferencesToDatabase(string path, ulong? frn, LayoutPreferencesItem preferencesItem)
{
if (string.IsNullOrEmpty(path))
return false;
return;

return SafetyExtensions.IgnoreExceptions(() =>
var dbInstance = GetDatabaseManagerInstance();
if (dbInstance.GetPreferences(path, frn) is null &&
new LayoutPreferencesItem().Equals(preferencesItem))
{
var dbInstance = GetDatabaseManagerInstance();
if (dbInstance.GetPreferences(path, frn) is null &&
new LayoutPreferencesItem().Equals(preferencesItem))
{
// Do not create setting if it's default
return;
}
// Do not create setting if it's default
return;
}

dbInstance.SetPreferences(path, frn, preferencesItem);
});
dbInstance.SetPreferences(path, frn, preferencesItem);
}

private bool SetProperty<TValue>(Func<LayoutPreferencesItem, TValue> prop, Action<LayoutPreferencesItem> update, string propertyName)
Expand Down

0 comments on commit e67d9fb

Please sign in to comment.