@@ -1460,8 +1460,6 @@ SQInteger function_stub(HSQUIRRELVM vm)
14601460 SquirrelVM* pSquirrelVM = (SquirrelVM*)sq_getsharedforeignptr (vm);
14611461 Assert (pSquirrelVM);
14621462
1463- sq_resetobject (&pSquirrelVM->lastError_ );
1464-
14651463 bool call_success = (*pFunc->m_pfnBinding )(pFunc->m_pFunction , instance, params.Base (), nargs,
14661464 pFunc->m_desc .m_ReturnType == FIELD_VOID ? nullptr : &script_retval, script_retval_storage);
14671465 Assert (call_success);
@@ -1471,7 +1469,6 @@ SQInteger function_stub(HSQUIRRELVM vm)
14711469 if (!sq_isnull (pSquirrelVM->lastError_ ))
14721470 {
14731471 sq_pushobject (vm, pSquirrelVM->lastError_ );
1474- sq_resetobject (&pSquirrelVM->lastError_ );
14751472 sq_retval = sq_throwobject (vm);
14761473 }
14771474 else
@@ -1555,29 +1552,27 @@ SQInteger constructor_stub(HSQUIRRELVM vm)
15551552 return sqstd_throwerrorf (vm, " Unable to construct instances of %s" , pClassDesc->m_pszScriptName );
15561553 }
15571554
1558- SquirrelVM* pSquirrelVM = (SquirrelVM*)sq_getsharedforeignptr (vm);
1559- Assert (pSquirrelVM);
1560-
1561- sq_resetobject (&pSquirrelVM->lastError_ );
1555+ SQUserPointer p;
1556+ if (SQ_FAILED (sq_getinstanceup (vm, 1 , &p, 0 )))
15621557 {
1563- SQUserPointer p;
1564- if (SQ_FAILED (sq_getinstanceup (vm, 1 , &p, 0 )))
1565- {
1566- return SQ_ERROR ;
1567- }
1558+ return SQ_ERROR ;
1559+ }
15681560
1569- if (!p)
1570- {
1571- return sq_throwerror (vm, " Accessed null instance" );
1572- }
1561+ if (!p)
1562+ {
1563+ return sq_throwerror (vm, " Accessed null instance" );
1564+ }
15731565
1574- void * instance = pClassDesc->m_pfnConstruct ();
1566+ void * instance = pClassDesc->m_pfnConstruct ();
15751567
1576- // expect construction to always succeed
1577- Assert (sq_isnull (pSquirrelVM->lastError_ ));
1568+ #ifdef DBGFLAG_ASSERT
1569+ SquirrelVM* pSquirrelVM = (SquirrelVM*)sq_getsharedforeignptr (vm);
1570+ Assert (pSquirrelVM);
1571+ // expect construction to always succeed
1572+ Assert (sq_isnull (pSquirrelVM->lastError_ ));
1573+ #endif
15781574
1579- new (p) ClassInstanceData (instance, pClassDesc, nullptr , true );
1580- }
1575+ new (p) ClassInstanceData (instance, pClassDesc, nullptr , true );
15811576
15821577 sq_setreleasehook (vm, 1 , &destructor_stub);
15831578
0 commit comments