Fix a bug where sq_newmember and sq_rawnewmember did not pop their arguments.
This commit is contained in:
parent
a7df1b46a4
commit
74cca2d7d3
@ -947,8 +947,11 @@ SQRESULT sq_newmember(HSQUIRRELVM v,SQInteger idx,SQBool bstatic)
|
||||
if(sq_type(self) != OT_CLASS) return sq_throwerror(v, _SC("new member only works with classes"));
|
||||
SQObjectPtr &key = v->GetUp(-3);
|
||||
if(sq_type(key) == OT_NULL) return sq_throwerror(v, _SC("null key"));
|
||||
if(!v->NewSlotA(self,key,v->GetUp(-2),v->GetUp(-1),bstatic?true:false,false))
|
||||
if(!v->NewSlotA(self,key,v->GetUp(-2),v->GetUp(-1),bstatic?true:false,false)) {
|
||||
v->Pop(3);
|
||||
return SQ_ERROR;
|
||||
}
|
||||
v->Pop(3);
|
||||
return SQ_OK;
|
||||
}
|
||||
|
||||
@ -958,8 +961,11 @@ SQRESULT sq_rawnewmember(HSQUIRRELVM v,SQInteger idx,SQBool bstatic)
|
||||
if(sq_type(self) != OT_CLASS) return sq_throwerror(v, _SC("new member only works with classes"));
|
||||
SQObjectPtr &key = v->GetUp(-3);
|
||||
if(sq_type(key) == OT_NULL) return sq_throwerror(v, _SC("null key"));
|
||||
if(!v->NewSlotA(self,key,v->GetUp(-2),v->GetUp(-1),bstatic?true:false,true))
|
||||
if(!v->NewSlotA(self,key,v->GetUp(-2),v->GetUp(-1),bstatic?true:false,true)) {
|
||||
v->Pop(3);
|
||||
return SQ_ERROR;
|
||||
}
|
||||
v->Pop(3);
|
||||
return SQ_OK;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user