Răsfoiți Sursa

add release hook (#1690)

江战 5 ani în urmă
părinte
comite
47873c041b

+ 7 - 0
spine-cpp/spine-cpp/include/spine/Extension.h

@@ -61,6 +61,11 @@ public:
 		getInstance()->_free((void *) ptr, file, line);
 	}
 
+	template<typename T>
+	static void beforeFree(T *ptr) {
+		getInstance()->_beforeFree((void *) ptr);
+	}
+	
 	static char *readFile(const String &path, int *length) {
 		return getInstance()->_readFile(path, length);
 	}
@@ -83,6 +88,8 @@ public:
 
 	virtual char *_readFile(const String &path, int *length) = 0;
 
+	virtual void _beforeFree(void *ptr) {}
+
 protected:
 	SpineExtension();
 

+ 1 - 0
spine-cpp/spine-cpp/src/spine/SpineObject.cpp

@@ -63,4 +63,5 @@ void SpineObject::operator delete(void *p) {
 }
 
 SpineObject::~SpineObject() {
+	SpineExtension::beforeFree(this);
 }