summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-10-04 22:39:21 +0300
committerAndrei Karas <akaras@inbox.ru>2015-10-04 22:39:21 +0300
commit6f0554d8c81752ec8f0e3b9822bdeb590cbdfafb (patch)
tree545e5c2064b215c6db4006653dfd580b441a1e53
parent75bcf85c5bfa0aca83cffbdded7370c532319f0b (diff)
downloadplus-6f0554d8c81752ec8f0e3b9822bdeb590cbdfafb.tar.gz
plus-6f0554d8c81752ec8f0e3b9822bdeb590cbdfafb.tar.bz2
plus-6f0554d8c81752ec8f0e3b9822bdeb590cbdfafb.tar.xz
plus-6f0554d8c81752ec8f0e3b9822bdeb590cbdfafb.zip
Dont show popup in inventory if mouse present outside of item rectangle.
-rw-r--r--src/gui/widgets/itemcontainer.cpp4
-rw-r--r--src/gui/widgets/itemcontainer.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp
index 75ef1e852..773f43ff7 100644
--- a/src/gui/widgets/itemcontainer.cpp
+++ b/src/gui/widgets/itemcontainer.cpp
@@ -820,13 +820,15 @@ void ItemContainer::updateMatrix()
delete sortedItems[idx];
}
-int ItemContainer::getSlotIndex(const int x, const int y) const
+int ItemContainer::getSlotIndex(int x, int y) const
{
if (!mShowMatrix)
return Inventory::NO_SLOT_INDEX;
if (x < mDimension.width && y < mDimension.height && x >= 0 && y >= 0)
{
+ if (x > mBoxWidth * mGridColumns)
+ return Inventory::NO_SLOT_INDEX;
const int idx = (y / mBoxHeight) * mGridColumns + (x / mBoxWidth);
if (idx >= 0 && idx < mGridRows * mGridColumns
&& mShowMatrix[idx] >= 0)
diff --git a/src/gui/widgets/itemcontainer.h b/src/gui/widgets/itemcontainer.h
index 243104ead..f87eac55d 100644
--- a/src/gui/widgets/itemcontainer.h
+++ b/src/gui/widgets/itemcontainer.h
@@ -171,7 +171,7 @@ class ItemContainer final : public Widget,
* @param y The Y coordinate position.
* @return The slot index on success, -1 on failure.
*/
- int getSlotIndex(const int x, const int y) const;
+ int getSlotIndex(int x, int y) const;
Inventory *mInventory;
Image *mSelImg;