fix LuaReference::operator=

add LuaReference::IsNil
This commit is contained in:
Glenn Maynard
2005-02-23 06:17:29 +00:00
parent 21f6266517
commit b35d1c806e
2 changed files with 14 additions and 3 deletions
+13 -3
View File
@@ -42,9 +42,14 @@ LuaReference &LuaReference::operator=( const LuaReference &cpy )
Unregister();
/* Make a new reference. */
lua_rawgeti( LUA->L, LUA_REGISTRYINDEX, cpy.m_iReference );
m_iReference = luaL_ref( LUA->L, LUA_REGISTRYINDEX );
if( cpy.m_iReference == LUA_NOREF )
m_iReference = LUA_NOREF;
else
{
/* Make a new reference. */
lua_rawgeti( LUA->L, LUA_REGISTRYINDEX, cpy.m_iReference );
m_iReference = luaL_ref( LUA->L, LUA_REGISTRYINDEX );
}
return *this;
}
@@ -72,6 +77,11 @@ bool LuaReference::IsSet() const
return m_iReference != LUA_NOREF;
}
bool LuaReference::IsNil() const
{
return m_iReference == LUA_REFNIL;
}
int LuaReference::GetLuaType() const
{
this->PushSelf( LUA->L );