From 4aed49a70fe2e4fa3600b31525766c52bff52e3d Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Thu, 4 Apr 2013 11:47:31 +0000 Subject: Fixed personal crafting grid not being tossed on inventory close. FS #355, http://www.mc-server.org/support/index.php?do=details&task_id=355 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1358 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/UI/Window.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'source/UI/Window.cpp') diff --git a/source/UI/Window.cpp b/source/UI/Window.cpp index d22255105..12c3e7350 100644 --- a/source/UI/Window.cpp +++ b/source/UI/Window.cpp @@ -165,8 +165,6 @@ void cWindow::OpenedByPlayer(cPlayer & a_Player) void cWindow::ClosedByPlayer(cPlayer & a_Player) { - ASSERT(m_WindowType != Inventory); // Inventory windows must not be closed (the client would repeat the close packet, looping forever) - // Checks whether the player is still holding an item if (a_Player.IsDraggingItem()) { @@ -177,7 +175,7 @@ void cWindow::ClosedByPlayer(cPlayer & a_Player) cClientHandle * ClientHandle = a_Player.GetClientHandle(); if (ClientHandle != NULL) { - ClientHandle->SendWindowClose(m_WindowID); + ClientHandle->SendWindowClose(*this); } { @@ -189,7 +187,8 @@ void cWindow::ClosedByPlayer(cPlayer & a_Player) } // for itr - m_SlotAreas[] m_OpenedBy.remove(&a_Player); - if (m_OpenedBy.empty()) + + if ((m_WindowType != Inventory) && m_OpenedBy.empty()) { Destroy(); } -- cgit v1.2.3