From 1632d5f8f1f3f1edb7ac2d0f4c79be9fbdae91ca Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Mon, 18 May 2015 15:43:24 +0100 Subject: Fixes #2003 --- src/UI/SlotArea.cpp | 2 +- src/UI/Window.cpp | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'src/UI') diff --git a/src/UI/SlotArea.cpp b/src/UI/SlotArea.cpp index 37683a8e5..accd44b06 100644 --- a/src/UI/SlotArea.cpp +++ b/src/UI/SlotArea.cpp @@ -1394,7 +1394,7 @@ void cSlotAreaBeacon::OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) // cSlotAreaEnchanting: cSlotAreaEnchanting::cSlotAreaEnchanting(cWindow & a_ParentWindow, int a_BlockX, int a_BlockY, int a_BlockZ) : - cSlotAreaTemporary(1, a_ParentWindow), + cSlotAreaTemporary(2, a_ParentWindow), m_BlockX(a_BlockX), m_BlockY(a_BlockY), m_BlockZ(a_BlockZ) diff --git a/src/UI/Window.cpp b/src/UI/Window.cpp index d1c08acec..61e25651b 100644 --- a/src/UI/Window.cpp +++ b/src/UI/Window.cpp @@ -92,9 +92,9 @@ const AString cWindow::GetWindowTypeName(void) const int cWindow::GetNumSlots(void) const { int res = 0; - for (cSlotAreas::const_iterator itr = m_SlotAreas.begin(), end = m_SlotAreas.end(); itr != end; ++itr) + for (const auto & itr : m_SlotAreas) { - res += (*itr)->GetNumSlots(); + res += itr->GetNumSlots(); } // for itr - m_SlotAreas[] return res; } @@ -261,16 +261,14 @@ void cWindow::Clicked( } int LocalSlotNum = a_SlotNum; - int idx = 0; - for (cSlotAreas::iterator itr = m_SlotAreas.begin(), end = m_SlotAreas.end(); itr != end; ++itr) + for (const auto & itr : m_SlotAreas) { - if (LocalSlotNum < (*itr)->GetNumSlots()) + if (LocalSlotNum < itr->GetNumSlots()) { - (*itr)->Clicked(a_Player, LocalSlotNum, a_ClickAction, a_ClickedItem); + itr->Clicked(a_Player, LocalSlotNum, a_ClickAction, a_ClickedItem); return; } - LocalSlotNum -= (*itr)->GetNumSlots(); - idx++; + LocalSlotNum -= itr->GetNumSlots(); } LOGWARNING("Slot number higher than available window slots: %d, max %d received from \"%s\"; ignoring.", -- cgit v1.2.3 From 10c9e66aad9a0d994c5c227f5dedec4af19db9b2 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Sun, 24 May 2015 13:37:36 +0100 Subject: Fixes #2041 --- src/UI/SlotArea.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/UI') diff --git a/src/UI/SlotArea.cpp b/src/UI/SlotArea.cpp index accd44b06..5b58b18b6 100644 --- a/src/UI/SlotArea.cpp +++ b/src/UI/SlotArea.cpp @@ -2154,10 +2154,10 @@ bool cSlotAreaArmor::CanPlaceArmorInSlot(int a_SlotNum, const cItem & a_Item) { switch (a_SlotNum) { - case 0: return ItemCategory::IsHelmet (a_Item.m_ItemType); + case 0: return (ItemCategory::IsHelmet(a_Item.m_ItemType) || (a_Item.m_ItemType == E_BLOCK_PUMPKIN)); case 1: return ItemCategory::IsChestPlate(a_Item.m_ItemType); - case 2: return ItemCategory::IsLeggings (a_Item.m_ItemType); - case 3: return ItemCategory::IsBoots (a_Item.m_ItemType); + case 2: return ItemCategory::IsLeggings(a_Item.m_ItemType); + case 3: return ItemCategory::IsBoots(a_Item.m_ItemType); } return false; } -- cgit v1.2.3