Просмотр исходного кода

Move the call for CallDelayedReleaseHooks to LeaveFrame, there is only one point of call when executing a script.

mingodad 12 лет назад
Родитель
Сommit
98d3fe3fa2
1 измененных файлов с 1 добавлено и 2 удалено
  1. 1 2
      SquiLu/squirrel/sqvm.cpp

+ 1 - 2
SquiLu/squirrel/sqvm.cpp

@@ -936,7 +936,6 @@ exception_restore:
 				if((ci)->_generator) {
 					(ci)->_generator->Kill();
 				}
-				if(_check_delayed_relase_hooks) _sharedstate->CallDelayedReleaseHooks(this);
 				if(Return(arg0, arg1, temp_reg)){
 					assert(traps==0);
 					//outres = temp_reg;
@@ -1295,7 +1294,6 @@ bool SQVM::CallNative(SQNativeClosure *nclosure, SQInteger nargs, SQInteger newb
 	}
 	//retval = ret ? _stack._vals[_top-1] : _null_;
 	LeaveFrame();
-	if(_check_delayed_relase_hooks) _sharedstate->CallDelayedReleaseHooks(this);
 	return true;
 }
 
@@ -1755,6 +1753,7 @@ void SQVM::LeaveFrame() {
 	while (last_top >= _top) {
 		_stack._vals[last_top--].Null();
 	}
+	if(_check_delayed_relase_hooks) _sharedstate->CallDelayedReleaseHooks(this);
 }
 
 void SQVM::RelocateOuters()