Skip to content

Commit d11856a

Browse files
emitrackmanivan-trackman
authored andcommitted
Merge pull request 61424 from bugfix/statics-and-singletons-leaks into tag/v1.2.4
1 parent 6e11bc6 commit d11856a

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

Runtime/Extensions/NodeExtensions.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,16 @@ record Metadata(UIDocument document, UxmlAttribute uxml, string path);
3939
public static Action<VisualElement> OnRebuildElement { get; set; }
4040
#endregion
4141

42+
#region Constructors
43+
static VisualElementMetadata() => DisposeStatic.OnDisposeStatic += () =>
44+
{
45+
rootMetadata.Clear();
46+
search.Clear();
47+
cloneMap.Clear();
48+
hide.Clear();
49+
};
50+
#endregion
51+
4252
#region Methods
4353
public static void Initialize(UIDocument document, IEnumerable<IRootElement> targets)
4454
{

Runtime/Extensions/VisualElementExtensions.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ public static class VisualElementExtensions
1212
static Dictionary<(VisualElement prefab, VisualElement parent), IList> cloneDictionary = new();
1313
#endregion
1414

15+
#region Constructors
16+
static VisualElementExtensions() => DisposeStatic.OnDisposeStatic += () => cloneDictionary.Clear();
17+
#endregion
18+
1519
#region Methods
1620
public static bool HasVisibility(this VisualElement element) => element.style.visibility == Visibility.Visible;
1721
public static void MakeVisible(this VisualElement element) => element.style.visibility = Visibility.Visible;

0 commit comments

Comments
 (0)