Added memory helpers
This will protect some memory-related code from new redefinition Former-commit-id: 337e69e70acd0bf8dbc3ba1657c6bb0bddfd5df4
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <iostream>
|
||||
#include <Nazara/Core/MemoryHelper.hpp>
|
||||
#include <Nazara/Lua/Debug.hpp>
|
||||
|
||||
template<class T>
|
||||
@@ -31,7 +32,7 @@ void NzLuaClass<T>::Register(NzLuaInstance& lua)
|
||||
// Ainsi c'est Lua qui va s'occuper de la destruction pour nous :-)
|
||||
// De même, l'utilisation d'un shared_ptr permet de garder la structure en vie même si l'instance est libérée avant le LuaClass
|
||||
void* info = lua.PushUserdata(sizeof(std::shared_ptr<ClassInfo>));
|
||||
new (info) std::shared_ptr<ClassInfo>(m_info);
|
||||
NzPlacementNew<std::shared_ptr<ClassInfo>>(info, m_info);
|
||||
|
||||
// On créé la table qui contiendra une méthode (Le finalizer) pour libérer le ClassInfo
|
||||
lua.PushTable(0, 1);
|
||||
|
||||
Reference in New Issue
Block a user