diff --git a/stepmania/src/LuaBinding.h b/stepmania/src/LuaBinding.h index c6f4d04bea..68080dd636 100644 --- a/stepmania/src/LuaBinding.h +++ b/stepmania/src/LuaBinding.h @@ -232,12 +232,12 @@ protected: #define LUA_REGISTER_CLASS( T ) \ LUA_REGISTER_CLASS_BASIC( T, none ) \ - void Luna::PushObject( Lua *L, T* p ) { void **pData = (void **) lua_newuserdata( L, sizeof(void *) ); *pData = p; } \ + template<> void Luna::PushObject( Lua *L, T* p ) { void **pData = (void **) lua_newuserdata( L, sizeof(void *) ); *pData = p; } \ void T::PushSelf( lua_State *L ) { Luna::PushObject( L, this ); ApplyDerivedType( L, #T, this ); } #define LUA_REGISTER_DERIVED_CLASS( T, B ) \ LUA_REGISTER_CLASS_BASIC( T, B ) \ - void Luna::PushObject( Lua *L, T* p ) { Luna::PushObject( L, p ); } \ + template<> void Luna::PushObject( Lua *L, T* p ) { Luna::PushObject( L, p ); } \ void T::PushSelf( lua_State *L ) { Luna::PushObject( L, this ); ApplyDerivedType( L, #T, this ); } #define LUA_REGISTER_CLASS_BASIC( T, B ) \