GUIInventoryList: fix dropping items when clicking outside of formspec window (#9422)

This commit is contained in:
DS 2020-02-26 12:18:05 +01:00 committed by GitHub
parent 244121b964
commit 0c08f948d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -176,7 +176,14 @@ bool GUIInventoryList::OnEvent(const SEvent &event)
Environment->getRootGUIElement()->getElementFromPoint(
core::position2d<s32>(event.MouseInput.X, event.MouseInput.Y));
bool ret = hovered && hovered->OnEvent(event);
// if the player clicks outside of the formspec window, hovered is not
// m_fs_menu, but some other weird element (with ID -1). we do however need
// hovered to be m_fs_menu as item dropping when clicking outside of the
// formspec window is handled in its OnEvent callback
if (!hovered || hovered->getID() == -1)
hovered = m_fs_menu;
bool ret = hovered->OnEvent(event);
IsVisible = was_visible;