Merge remote-tracking branch 'origin/master' into potions
Conflicts: src/Entities/Player.cpp src/Entities/ProjectileEntity.cpp
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
#include "ItemSign.h"
|
||||
#include "ItemMobHead.h"
|
||||
#include "ItemSpawnEgg.h"
|
||||
#include "ItemString.h"
|
||||
#include "ItemSugarcane.h"
|
||||
#include "ItemSword.h"
|
||||
|
||||
@@ -64,7 +65,7 @@ cItemHandler * cItemHandler::m_ItemHandler[2268];
|
||||
|
||||
cItemHandler * cItemHandler::GetItemHandler(int a_ItemType)
|
||||
{
|
||||
if (a_ItemType < 0)
|
||||
if ((a_ItemType < 0) || ((unsigned long)a_ItemType >= ARRAYCOUNT(m_ItemHandler)))
|
||||
{
|
||||
// Either nothing (-1), or bad value, both cases should return the air handler
|
||||
if (a_ItemType < -1)
|
||||
@@ -133,6 +134,7 @@ cItemHandler *cItemHandler::CreateItemHandler(int a_ItemType)
|
||||
case E_ITEM_HEAD: return new cItemMobHeadHandler(a_ItemType);
|
||||
case E_ITEM_SNOWBALL: return new cItemSnowballHandler();
|
||||
case E_ITEM_SPAWN_EGG: return new cItemSpawnEggHandler(a_ItemType);
|
||||
case E_ITEM_STRING: return new cItemStringHandler(a_ItemType);
|
||||
case E_ITEM_SUGARCANE: return new cItemSugarcaneHandler(a_ItemType);
|
||||
|
||||
case E_ITEM_WOODEN_HOE:
|
||||
@@ -264,6 +266,7 @@ void cItemHandler::Deinit()
|
||||
for(int i = 0; i < 2267; i++)
|
||||
{
|
||||
delete m_ItemHandler[i];
|
||||
m_ItemHandler[i] = NULL;
|
||||
}
|
||||
memset(m_ItemHandler, 0, sizeof(m_ItemHandler)); // Don't leave any dangling pointers around, just in case
|
||||
m_HandlerInitialized = false;
|
||||
|
||||
Reference in New Issue
Block a user