diff options
author | Andrei Karas <akaras@inbox.ru> | 2010-05-07 03:58:26 +0300 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2010-05-06 22:14:07 -0600 |
commit | 46cd4e737a5a74f823877c1fd00a6af84005612f (patch) | |
tree | 4fa78e422d59a02161a47c7806b67b02a6cc0b3e | |
parent | 43de94e81348f8b1e0318924c35bb7f3c58eb092 (diff) | |
download | mana-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.cpp | 3 | ||||
-rw-r--r-- | src/gui/widgets/itemshortcutcontainer.cpp | 12 |
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); |