Skip to content

Commit 696560e

Browse files
committed
Fix leak in FieldInfo.UpdateState()
1 parent b64b41b commit 696560e

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

Orm/Xtensive.Orm/Orm/Model/FieldInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -661,8 +661,8 @@ public override void UpdateState()
661661
Fields.UpdateState();
662662
if (column != null)
663663
column.UpdateState();
664-
columns = new ColumnInfoCollection(this, "Columns");
665-
GetColumns(columns);
664+
columns?.Clear(); // To prevent event handler leak
665+
columns = null;
666666

667667
HasImmediateValidators = validators.Count > 0 && validators.Any(v => v.IsImmediate);
668668

Orm/Xtensive.Orm/Orm/Model/TypeInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -748,7 +748,7 @@ private bool GetIsLeaf()
748748
private void CreateTupleDescriptor()
749749
{
750750
var orderedColumns = columns.OrderBy(c => c.Field.MappingInfo.Offset).ToList();
751-
columns.Clear();
751+
columns.Clear(); // To prevent event handler leak
752752
columns.AddRange(orderedColumns);
753753
TupleDescriptor = TupleDescriptor.Create(
754754
Columns.Select(c => c.ValueType).ToArray(Columns.Count));

0 commit comments

Comments
 (0)