From 707cd66c09c5c8986af439c58d814f05cbd83612 Mon Sep 17 00:00:00 2001 From: badlogic Date: Tue, 19 Nov 2019 15:31:59 +0100 Subject: [PATCH] [cpp] Dispose renderer object in HasRendererObject::setRendererObject if dispose callback is set, and new value is not equal to old value. Closes #1549. --- spine-cpp/spine-cpp/include/spine/HasRendererObject.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spine-cpp/spine-cpp/include/spine/HasRendererObject.h b/spine-cpp/spine-cpp/include/spine/HasRendererObject.h index 5dd2f5a9f..a99964d2b 100644 --- a/spine-cpp/spine-cpp/include/spine/HasRendererObject.h +++ b/spine-cpp/spine-cpp/include/spine/HasRendererObject.h @@ -45,6 +45,9 @@ public: void* getRendererObject() { return _rendererObject; } void setRendererObject(void* rendererObject, DisposeRendererObject dispose = NULL) { + if (_dispose && _rendererObject && _rendererObject != rendererObject) + _dispose(_rendererObject); + _rendererObject = rendererObject; _dispose = dispose; }