fix copied references being set when the source reference was not

This commit is contained in:
Glenn Maynard
2005-02-22 03:22:56 +00:00
parent beff8a5978
commit 8a5faeb248
+8 -3
View File
@@ -25,9 +25,14 @@ LuaReference::LuaReference( const LuaReference &cpy )
{
SubscriptionManager<LuaReference>::Subscribe( this );
/* 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 );
}
}
LuaReference &LuaReference::operator=( const LuaReference &cpy )