diff options
Diffstat (limited to 'src/gui/itemcontainer.cpp')
-rw-r--r-- | src/gui/itemcontainer.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/gui/itemcontainer.cpp b/src/gui/itemcontainer.cpp index 334770f8..43de8db3 100644 --- a/src/gui/itemcontainer.cpp +++ b/src/gui/itemcontainer.cpp @@ -30,6 +30,7 @@ #include "../graphics.h" #include "../inventory.h" #include "../item.h" +#include "../itemshortcut.h" #include "../log.h" #include "../resources/image.h" @@ -197,9 +198,18 @@ ItemContainer::mousePressed(gcn::MouseEvent &event) int my = event.getY(); int index = mx / gridWidth + ((my / gridHeight) * columns) + 2; - if (index > INVENTORY_SIZE) - index = INVENTORY_SIZE - 1; - - setSelectedItem(mInventory->getItem(index)); + itemShortcut->setItemSelected(NULL); + // Fix for old server, it should be: if (index >= mMaxItems) + if (index > mMaxItems + 1) + { + setSelectedItem(NULL); + return; + } + Item *item = mInventory->getItem(index); + setSelectedItem(item); + if (!item->isEquipment()) + { + itemShortcut->setItemSelected(item); + } } } |