Skip to content

Commit 8615d14

Browse files
committed
Make IVirtualGridView implement IDisposable
1 parent 174f8d0 commit 8615d14

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

GDViews.VirtualGridView/Core/IVirtualGridView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace GodotViews.VirtualGrid;
1010
/// to navigate through and customise the virtualized grid view.
1111
/// </summary>
1212
/// <typeparam name="TDataType">The type for the data this controller focuses on.</typeparam>
13-
public interface IVirtualGridView<TDataType>
13+
public interface IVirtualGridView<TDataType> : IDisposable
1414
{
1515
/// <summary>
1616
/// Accessor for the currently active ElementPositioner,

GDViews.VirtualGridView/Core/VirtualGridViewImpl.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1183,4 +1183,10 @@ private class DataView
11831183
public NullableData<TDataType> Data;
11841184
public override string ToString() => $"Button: {AssignedButton?.Name ?? "Null"}, Data: {Data}";
11851185
}
1186+
1187+
/// <inheritdoc/>
1188+
public void Dispose()
1189+
{
1190+
while (_buttonPool.TryPop(out var instance)) instance.QueueFree();
1191+
}
11861192
}

GDViews.VirtualGridView/GDViews.VirtualGridView.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1515

1616
<PackageId>GDViews.VirtualGridView</PackageId>
17-
<PackageVersion>0.0.2</PackageVersion>
17+
<PackageVersion>0.0.3</PackageVersion>
1818
<Authors>DE-YU</Authors>
1919
<Description>Based on DotNet, GDViews.VirtualGridView provides classes that are useful for creating highly customizable virtualized grid views.</Description>
2020
<PackageProjectUrl>https://www.nuget.org/packages/GDViews.VirtualGridView</PackageProjectUrl>
2121
<PackageReadmeFile>README.md</PackageReadmeFile>
2222
<RepositoryUrl>https://github.com/Delsin-Yu/GDViews.VirtualGridView</RepositoryUrl>
2323
<RepositoryType>git</RepositoryType>
2424
<PackageTags>Godot TabView</PackageTags>
25-
<PackageReleaseNotes>Fix Mouse Wheel Scroll Event doubles, and fix scroll Bar is not accurately reflecting the virtual viewport position.</PackageReleaseNotes>
25+
<PackageReleaseNotes>Make IVirtualGridView implement IDisposable, which allows for cleaning cached button instances that are out of the scene tree.</PackageReleaseNotes>
2626
<PackageLicenseExpression>MIT</PackageLicenseExpression>
2727

2828
<IncludeSymbols>true</IncludeSymbols>

0 commit comments

Comments
 (0)