Jelajahi Sumber

Add conditional preprocess to allow compile without garbage collector

mingodad 13 tahun lalu
induk
melakukan
4dda6d8748
2 mengubah file dengan 8 tambahan dan 2 penghapusan
  1. 4 1
      squirrel/sqclass.h
  2. 4 1
      squirrel/squserdata.h

+ 4 - 1
squirrel/sqclass.h

@@ -134,8 +134,11 @@ public:
 	void Release() {
 	void Release() {
 		_uiRef++;
 		_uiRef++;
 		if (_hook) {
 		if (_hook) {
+#ifndef NO_GARBAGE_COLLECTOR
 		    _sharedstate->AddDelayedReleaseHook(_hook, _userpointer, 0);
 		    _sharedstate->AddDelayedReleaseHook(_hook, _userpointer, 0);
-		    //_hook(_userpointer,0);
+#else
+		    _hook(_userpointer,0, 0);
+#endif
         }
         }
 		_uiRef--;
 		_uiRef--;
 		if(_uiRef > 0) return;
 		if(_uiRef > 0) return;

+ 4 - 1
squirrel/squserdata.h

@@ -25,8 +25,11 @@ struct SQUserData : SQDelegable
 #endif
 #endif
 	void Release() {
 	void Release() {
 		if (_hook) {
 		if (_hook) {
+#ifndef NO_GARBAGE_COLLECTOR
 		    _sharedstate->AddDelayedReleaseHook(_hook, (SQUserPointer)sq_aligning(this + 1), _size);
 		    _sharedstate->AddDelayedReleaseHook(_hook, (SQUserPointer)sq_aligning(this + 1), _size);
-		    //_hook((SQUserPointer)sq_aligning(this + 1),_size, 0);
+#else
+		    _hook((SQUserPointer)sq_aligning(this + 1),_size, 0);
+#endif
 		}
 		}
 		SQInteger tsize = _size;
 		SQInteger tsize = _size;
 		this->~SQUserData();
 		this->~SQUserData();