Forráskód Böngészése

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

badlogic 5 éve
szülő
commit
707cd66c09
1 módosított fájl, 3 hozzáadás és 0 törlés
  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;
 	}