فهرست منبع

Added a comment on code of "SQSharedState::CallDelayedReleaseHooks" explaining why we need to retrieve the number the elements before start working on then.

mingodad 13 سال پیش
والد
کامیت
64bd6352d7
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      squirrel/sqstate.cpp

+ 4 - 0
squirrel/sqstate.cpp

@@ -242,6 +242,10 @@ void SQSharedState::CallDelayedReleaseHooks(SQVM *vm, int count)
     if(_already_in_CallDelayedReleaseHooks) return;
     if(_already_in_CallDelayedReleaseHooks) return;
     if(_delayed_release_hook.size()){
     if(_delayed_release_hook.size()){
         _already_in_CallDelayedReleaseHooks = true;
         _already_in_CallDelayedReleaseHooks = true;
+        //get the count of release hooks before start
+        //and only work on that number because while
+        //calling each release hook new ones can be added
+        //to the list, the new ones will be processed on next call
         if(count == 0) count =  _delayed_release_hook.size();
         if(count == 0) count =  _delayed_release_hook.size();
         for(SQInteger i=0; i < count; ++i){
         for(SQInteger i=0; i < count; ++i){
             SQDelayedReleseHook &dh = _delayed_release_hook[i];
             SQDelayedReleseHook &dh = _delayed_release_hook[i];