Ver Fonte

[cpp] Dispose renderer object in HasRendererObject::setRendererObject if dispose callback is set, and new value is not equal to old value. Closes #1549.

badlogic há 5 anos atrás
pai
commit
707cd66c09
1 ficheiros alterados com 3 adições e 0 exclusões
  1. 3 0
      spine-cpp/spine-cpp/include/spine/HasRendererObject.h

+ 3 - 0
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;
 	}