mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 18:27:24 +01:00
Fix issue with reverted IMC edits and change counter on disabling mods.
This commit is contained in:
parent
3f03712e24
commit
0aa74692a8
4 changed files with 14 additions and 9 deletions
|
|
@ -151,6 +151,10 @@ public class CollectionCache : IDisposable
|
|||
{
|
||||
var conflicts = Conflicts(mod);
|
||||
var (paths, manipulations) = ModData.RemoveMod(mod);
|
||||
|
||||
if (addMetaChanges)
|
||||
++_collection.ChangeCounter;
|
||||
|
||||
foreach (var path in paths)
|
||||
{
|
||||
if (ResolvedFiles.Remove(path, out var mp) && mp.Mod != mod)
|
||||
|
|
@ -183,10 +187,7 @@ public class CollectionCache : IDisposable
|
|||
}
|
||||
|
||||
if (addMetaChanges)
|
||||
{
|
||||
++_collection.ChangeCounter;
|
||||
_manager.MetaFileManager.ApplyDefaultFiles(_collection);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,10 @@ public class CollectionCacheManager : IDisposable
|
|||
|
||||
internal readonly MetaFileManager MetaFileManager;
|
||||
|
||||
public int Count { get; private set; }
|
||||
private int _count;
|
||||
|
||||
public int Count
|
||||
=> _count;
|
||||
|
||||
public IEnumerable<ModCollection> Active
|
||||
=> _storage.Where(c => c.HasCache);
|
||||
|
|
@ -78,7 +81,8 @@ public class CollectionCacheManager : IDisposable
|
|||
return false;
|
||||
|
||||
collection._cache = new CollectionCache(this, collection);
|
||||
++Count;
|
||||
if (collection.Index > 0)
|
||||
Interlocked.Increment(ref _count);
|
||||
Penumbra.Log.Verbose($"Created new cache for collection {collection.AnonymizedName}.");
|
||||
return true;
|
||||
}
|
||||
|
|
@ -295,7 +299,8 @@ public class CollectionCacheManager : IDisposable
|
|||
|
||||
collection._cache!.Dispose();
|
||||
collection._cache = null;
|
||||
--Count;
|
||||
if (collection.Index > 0)
|
||||
Interlocked.Decrement(ref _count);
|
||||
Penumbra.Log.Verbose($"Cleared cache of collection {collection.AnonymizedName}.");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ using Penumbra.Api.Enums;
|
|||
using Penumbra.Mods;
|
||||
using Penumbra.Mods.Manager;
|
||||
using Penumbra.Services;
|
||||
using Penumbra.Util;
|
||||
|
||||
namespace Penumbra.Collections.Manager;
|
||||
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ public class DebugTab : Window, ITab
|
|||
if (collection.HasCache)
|
||||
{
|
||||
using var color = ImRaii.PushColor(ImGuiCol.Text, ColorId.FolderExpanded.Value());
|
||||
using var node = TreeNode(collection.AnonymizedName);
|
||||
using var node = TreeNode($"{collection.AnonymizedName} (Change Counter {collection.ChangeCounter})");
|
||||
if (!node)
|
||||
continue;
|
||||
|
||||
|
|
@ -177,7 +177,7 @@ public class DebugTab : Window, ITab
|
|||
else
|
||||
{
|
||||
using var color = ImRaii.PushColor(ImGuiCol.Text, ColorId.UndefinedMod.Value());
|
||||
TreeNode(collection.AnonymizedName, ImGuiTreeNodeFlags.Bullet | ImGuiTreeNodeFlags.Leaf).Dispose();
|
||||
TreeNode($"{collection.AnonymizedName} (Change Counter {collection.ChangeCounter})", ImGuiTreeNodeFlags.Bullet | ImGuiTreeNodeFlags.Leaf).Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue