Added memory helpers
This will protect some memory-related code from new redefinition Former-commit-id: 337e69e70acd0bf8dbc3ba1657c6bb0bddfd5df4
This commit is contained in:
@@ -5,12 +5,12 @@
|
||||
#include <Nazara/Core/Config.hpp>
|
||||
#if NAZARA_CORE_MANAGE_MEMORY
|
||||
|
||||
#define NAZARA_DEBUG_NEWREDEFINITION_DISABLE_REDEFINITION
|
||||
|
||||
#include <Nazara/Core/Debug/NewRedefinition.hpp>
|
||||
#include <Nazara/Core/MemoryManager.hpp>
|
||||
#include <new> // Nécessaire ?
|
||||
|
||||
#define NAZARA_DEBUG_NEWREDEFINITION_DISABLE_REDEFINITION
|
||||
#include <Nazara/Core/Debug/NewRedefinition.hpp>
|
||||
|
||||
void* operator new(std::size_t size, const char* file, unsigned int line)
|
||||
{
|
||||
return NzMemoryManager::Allocate(size, false, file, line);
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
// Notre utilisation du placement new n'est pas (encore ?) compatible avec les définitions du MLT
|
||||
#define NAZARA_DEBUG_NEWREDEFINITION_DISABLE_REDEFINITION
|
||||
|
||||
#include <Nazara/Core/ParameterList.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/MemoryHelper.hpp>
|
||||
#include <cstring>
|
||||
#include <limits>
|
||||
#include <new>
|
||||
@@ -309,7 +307,7 @@ void NzParameterList::SetParameter(const NzString& name, const NzString& value)
|
||||
|
||||
parameter.type = nzParameterType_String;
|
||||
|
||||
new (¶meter.value.stringVal) NzString(value);
|
||||
NzPlacementNew<NzString>(¶meter.value.stringVal, value);
|
||||
}
|
||||
|
||||
void NzParameterList::SetParameter(const NzString& name, const char* value)
|
||||
@@ -322,7 +320,7 @@ void NzParameterList::SetParameter(const NzString& name, const char* value)
|
||||
|
||||
parameter.type = nzParameterType_String;
|
||||
|
||||
new (¶meter.value.stringVal) NzString(value);
|
||||
NzPlacementNew<NzString>(¶meter.value.stringVal, value);
|
||||
}
|
||||
|
||||
void NzParameterList::SetParameter(const NzString& name, void* value)
|
||||
@@ -405,7 +403,7 @@ NzParameterList& NzParameterList::operator=(const NzParameterList& list)
|
||||
case nzParameterType_String:
|
||||
parameter.type = nzParameterType_String;
|
||||
|
||||
new (¶meter.value.stringVal) NzString(it->second.value.stringVal);
|
||||
NzPlacementNew<NzString>(¶meter.value.stringVal, it->second.value.stringVal);
|
||||
break;
|
||||
|
||||
case nzParameterType_Userdata:
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
// This file is part of the "Nazara Engine - Lua scripting module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#define NAZARA_DEBUG_NEWREDEFINITION_DISABLE_REDEFINITION
|
||||
|
||||
#include <Nazara/Lua/LuaInstance.hpp>
|
||||
#include <Lua/lauxlib.h>
|
||||
#include <Lua/lua.h>
|
||||
@@ -11,6 +9,7 @@
|
||||
#include <Nazara/Core/Clock.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/File.hpp>
|
||||
#include <Nazara/Core/MemoryHelper.hpp>
|
||||
#include <Nazara/Core/MemoryStream.hpp>
|
||||
#include <Nazara/Core/StringStream.hpp>
|
||||
#include <cstdlib>
|
||||
@@ -621,7 +620,7 @@ void NzLuaInstance::PushCFunction(NzLuaCFunction func, int upvalueCount)
|
||||
void NzLuaInstance::PushFunction(NzLuaFunction func)
|
||||
{
|
||||
NzLuaFunction* luaFunc = reinterpret_cast<NzLuaFunction*>(lua_newuserdata(m_state, sizeof(NzLuaFunction)));
|
||||
new (luaFunc) NzLuaFunction(std::move(func));
|
||||
NzPlacementNew<NzLuaFunction>(luaFunc, std::move(func));
|
||||
|
||||
lua_pushcclosure(m_state, ProxyFunc, 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user