summaryrefslogtreecommitdiff
path: root/src/gui/itemcontainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/itemcontainer.cpp')
-rw-r--r--src/gui/itemcontainer.cpp18
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);
+ }
}
}