diff --git a/spine-haxe/spine-haxe/spine/flixel/SkeletonSprite.hx b/spine-haxe/spine-haxe/spine/flixel/SkeletonSprite.hx index be750d193..fb3d639a5 100644 --- a/spine-haxe/spine-haxe/spine/flixel/SkeletonSprite.hx +++ b/spine-haxe/spine-haxe/spine/flixel/SkeletonSprite.hx @@ -116,9 +116,9 @@ class SkeletonSprite extends FlxObject override public function destroy():Void { - skeleton = null; + state.clearListeners(); state = null; - stateData = null; + skeleton = null; _tempVertices = null; _quadTriangles = null; diff --git a/spine-haxe/spine-haxe/spine/starling/SkeletonSprite.hx b/spine-haxe/spine-haxe/spine/starling/SkeletonSprite.hx index c4e0729e1..62a300cd9 100644 --- a/spine-haxe/spine-haxe/spine/starling/SkeletonSprite.hx +++ b/spine-haxe/spine-haxe/spine/starling/SkeletonSprite.hx @@ -416,4 +416,13 @@ class SkeletonSprite extends DisplayObject implements IAnimatable { bone.worldToLocal(point); } } + + override public function dispose():Void { + if (_state != null) { + _state.clearListeners(); + _state = null; + } + if (_skeleton != null) _skeleton = null; + super.dispose(); + } }