aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI/UIScene_CraftingMenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/UI/UIScene_CraftingMenu.cpp')
-rw-r--r--Minecraft.Client/Common/UI/UIScene_CraftingMenu.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene_CraftingMenu.cpp b/Minecraft.Client/Common/UI/UIScene_CraftingMenu.cpp
index 5b729069..66d8c41e 100644
--- a/Minecraft.Client/Common/UI/UIScene_CraftingMenu.cpp
+++ b/Minecraft.Client/Common/UI/UIScene_CraftingMenu.cpp
@@ -197,7 +197,10 @@ void UIScene_CraftingMenu::handleDestroy()
}
// We need to make sure that we call closeContainer() anytime this menu is closed, even if it is forced to close by some other reason (like the player dying)
- if(Minecraft::GetInstance()->localplayers[m_iPad] != NULL) Minecraft::GetInstance()->localplayers[m_iPad]->closeContainer();
+ if(Minecraft::GetInstance()->localplayers[m_iPad] != NULL && Minecraft::GetInstance()->localplayers[m_iPad]->containerMenu->containerId == m_menu->containerId)
+ {
+ Minecraft::GetInstance()->localplayers[m_iPad]->closeContainer();
+ }
ui.OverrideSFX(m_iPad,ACTION_MENU_A,false);
ui.OverrideSFX(m_iPad,ACTION_MENU_OK,false);
@@ -763,6 +766,21 @@ void UIScene_CraftingMenu::updateHighlightAndScrollPositions()
}
}
+void UIScene_CraftingMenu::HandleMessage(EUIMessage message, void *data)
+{
+ switch(message)
+ {
+ case eUIMessage_InventoryUpdated:
+ handleInventoryUpdated(data);
+ break;
+ };
+}
+
+void UIScene_CraftingMenu::handleInventoryUpdated(LPVOID data)
+{
+ HandleInventoryUpdated();
+}
+
void UIScene_CraftingMenu::updateVSlotPositions(int iSlots, int i)
{
// Not needed