summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2010-05-07 03:58:26 +0300
committerJared Adams <jaxad0127@gmail.com>2010-05-06 22:14:07 -0600
commit46cd4e737a5a74f823877c1fd00a6af84005612f (patch)
tree4fa78e422d59a02161a47c7806b67b02a6cc0b3e
parent43de94e81348f8b1e0318924c35bb7f3c58eb092 (diff)
downloadmana-46cd4e737a5a74f823877c1fd00a6af84005612f.tar.gz
mana-46cd4e737a5a74f823877c1fd00a6af84005612f.tar.bz2
mana-46cd4e737a5a74f823877c1fd00a6af84005612f.tar.xz
mana-46cd4e737a5a74f823877c1fd00a6af84005612f.zip
Fix reading arrays at index -1.
Signed-off-by: Jared Adams <jaxad0127@gmail.com>
-rw-r--r--src/gui/widgets/emoteshortcutcontainer.cpp3
-rw-r--r--src/gui/widgets/itemshortcutcontainer.cpp12
2 files changed, 12 insertions, 3 deletions
diff --git a/src/gui/widgets/emoteshortcutcontainer.cpp b/src/gui/widgets/emoteshortcutcontainer.cpp
index 2b07ad1e..82fb9f8d 100644
--- a/src/gui/widgets/emoteshortcutcontainer.cpp
+++ b/src/gui/widgets/emoteshortcutcontainer.cpp
@@ -124,11 +124,12 @@ void EmoteShortcutContainer::mouseDragged(gcn::MouseEvent &event)
if (!mEmoteMoved && mEmoteClicked)
{
const int index = getIndexFromGrid(event.getX(), event.getY());
- const int emoteId = emoteShortcut->getEmote(index);
if (index == -1)
return;
+ const int emoteId = emoteShortcut->getEmote(index);
+
if (emoteId)
{
mEmoteMoved = emoteId;
diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp
index 92e3e2e5..83efd4d4 100644
--- a/src/gui/widgets/itemshortcutcontainer.cpp
+++ b/src/gui/widgets/itemshortcutcontainer.cpp
@@ -142,9 +142,13 @@ void ItemShortcutContainer::mouseDragged(gcn::MouseEvent &event)
if (!mItemMoved && mItemClicked)
{
const int index = getIndexFromGrid(event.getX(), event.getY());
+
+ if (index == -1)
+ return;
+
const int itemId = itemShortcut->getItem(index);
- if (index == -1 || itemId < 0)
+ if (itemId < 0)
return;
Item *item = player_node->getInventory()->findItem(itemId);
@@ -227,9 +231,13 @@ void ItemShortcutContainer::mouseReleased(gcn::MouseEvent &event)
void ItemShortcutContainer::mouseMoved(gcn::MouseEvent &event)
{
const int index = getIndexFromGrid(event.getX(), event.getY());
+
+ if (index == -1)
+ return;
+
const int itemId = itemShortcut->getItem(index);
- if (index == -1 || itemId < 0)
+ if (itemId < 0)
return;
Item *item = player_node->getInventory()->findItem(itemId);