diff --git a/spine-csharp/src/Triangulator.cs b/spine-csharp/src/Triangulator.cs index 0fadcf15a..baf746302 100644 --- a/spine-csharp/src/Triangulator.cs +++ b/spine-csharp/src/Triangulator.cs @@ -169,7 +169,10 @@ namespace Spine { if (polygon.Count > 0) { convexPolygons.Add(polygon); convexPolygonsIndices.Add(polygonIndices); - } + } else { + polygonPool.Free(polygon); + polygonIndicesPool.Free(polygonIndices); + } polygon = polygonPool.Obtain(); polygon.Clear(); polygon.Add(x1); @@ -244,6 +247,9 @@ namespace Spine { if (polygon.Count == 0) { convexPolygons.RemoveAt(i); polygonPool.Free(polygon); + polygonIndices = convexPolygonsIndices.Items[i]; + convexPolygonsIndices.RemoveAt(i); + polygonIndicesPool.Free(polygonIndices); } }