Nombas Homepage

Scripting

Products

Purchase

Download

Support

Company

Nombas > SE:ISDK DevSpace > Errata > Source Fix for Arguments...

 

Source Fix For Arguments Object Not Freed
From function doCall (Function.c, line 338)

if( (Func_UsesArguments|Func_UsesItsName) & this-flags )
{
   VarRead *orig_args;
   VarRead *args;

   if( Func_UsesItsName & this-flags )
   {

      o_c = varCreateMember(FuncVar,call,call-Global-caller_entry,
                            VUndefined);
      assert( NULL != o_c );
      varSetAttributes(o_c,0);
      if( oldcaller!=NULL )
      {
         varAssign(o_c,call,oldcaller);
         varSetAttributes(o_c,jseDontEnum | jseDontDelete);
         VAR_REMOVE_USER(oldcaller,call);
      }
      else
      {
         varDeleteMember(FuncVar,call,call-Global-caller_entry);
      }
   }

   assert( arg_obj!=NULL );
   orig_args = varGetDirectMember(arg_obj,call-Global-
                                  old_arguments_entry);
   args = varGetDirectMember(FuncVar,call-Global-arguments_entry);
   assert( NULL != args );

   varSetAttributes(args,0);
   if( orig_args!=NULL )
   {
      varAssign(args,call,orig_args);
      varSetAttributes(args,jseDontDelete | jseDontEnum);
   }
   else
   {
      varDeleteMember(FuncVar,call,call-Global-arguments_entry);
   }

   assert( arg_obj!=NULL );
   VAR_REMOVE_USER(arg_obj,call);
}

   

Home | Scripting | Products | Purchase | Download | Support | Company

Copyright ©2001, Nombas, Inc. All Rights Reserved.
Questions? Visit
http://support.nombas.com/