From c3d2956ba588a4559fabc36a0c1fc7dd28279314 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Thu, 17 Sep 2020 14:51:42 +0100 Subject: BlockHandler: no dynamic allocation (#4862) * BlockHandler: no dynamic allocation --- tests/Generating/Stubs.cpp | 6 ++++-- tests/LuaThreadStress/Stubs.cpp | 15 ++++----------- tests/SchematicFileSerializer/Stubs.cpp | 13 +++---------- 3 files changed, 11 insertions(+), 23 deletions(-) (limited to 'tests') diff --git a/tests/Generating/Stubs.cpp b/tests/Generating/Stubs.cpp index 6fbcf70fb..2982457ab 100644 --- a/tests/Generating/Stubs.cpp +++ b/tests/Generating/Stubs.cpp @@ -406,7 +406,9 @@ void cItem::Empty() -cBlockHandler * cBlockHandler::CreateBlockHandler(BLOCKTYPE a_BlockType) +cBlockHandler & cBlockHandler::GetBlockHandler(BLOCKTYPE a_BlockType) { - return new cBlockHandler(a_BlockType); + // Dummy handler. + static cBlockHandler Handler(E_BLOCK_AIR); + return Handler; } diff --git a/tests/LuaThreadStress/Stubs.cpp b/tests/LuaThreadStress/Stubs.cpp index db0e8826a..f921477b7 100644 --- a/tests/LuaThreadStress/Stubs.cpp +++ b/tests/LuaThreadStress/Stubs.cpp @@ -86,16 +86,15 @@ extern "C" int luaopen_lxp(lua_State * a_LuaState) -void cBlockInfo::sHandlerDeleter::operator () (cBlockHandler * a_Handler) +cBlockInfo::cBlockInfo() { - delete a_Handler; } -cBlockInfo::cBlockInfo() +cBlockInfo::cBlockInfoArray::cBlockInfoArray() { } @@ -103,15 +102,9 @@ cBlockInfo::cBlockInfo() -cBlockInfo::cBlockInfoArray::cBlockInfoArray() +cBlockHandler * cBlockInfo::GetHandler(BLOCKTYPE a_Type) { - cBlockInfoArray & BlockInfos = *this; - // The piece-loading code uses the handlers for rotations, so we need valid handlers - // Insert dummy handlers: - for (size_t i = 0; i < BlockInfos.size(); i++) - { - BlockInfos[i].m_Handler.reset(new cBlockHandler(static_cast(i))); - } + return nullptr; } diff --git a/tests/SchematicFileSerializer/Stubs.cpp b/tests/SchematicFileSerializer/Stubs.cpp index 93fb5f2f6..882175754 100644 --- a/tests/SchematicFileSerializer/Stubs.cpp +++ b/tests/SchematicFileSerializer/Stubs.cpp @@ -21,24 +21,17 @@ cBlockInfo::cBlockInfo() -void cBlockInfo::sHandlerDeleter::operator () (cBlockHandler * a_Handler) +cBlockInfo::cBlockInfoArray::cBlockInfoArray() { - delete a_Handler; } -cBlockInfo::cBlockInfoArray::cBlockInfoArray() +cBlockHandler * cBlockInfo::GetHandler(BLOCKTYPE a_Type) { - cBlockInfoArray & BlockInfos = *this; - // The piece-loading code uses the handlers for rotations, so we need valid handlers - // Insert dummy handlers: - for (size_t i = 0; i < BlockInfos.size(); i++) - { - BlockInfos[i].m_Handler.reset(new cBlockHandler(static_cast(i))); - } + return nullptr; } -- cgit v1.2.3