diff options
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/emoteshortcutcontainer.cpp | 3 | ||||
-rw-r--r-- | src/gui/widgets/icon.cpp | 10 | ||||
-rw-r--r-- | src/gui/widgets/itemlinkhandler.cpp | 5 | ||||
-rw-r--r-- | src/gui/widgets/itemshortcutcontainer.cpp | 12 | ||||
-rw-r--r-- | src/gui/widgets/window.h | 6 |
5 files changed, 23 insertions, 13 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/icon.cpp b/src/gui/widgets/icon.cpp index ef22c37d..4e590212 100644 --- a/src/gui/widgets/icon.cpp +++ b/src/gui/widgets/icon.cpp @@ -30,20 +30,22 @@ Icon::Icon(const std::string &file) : mImage(0) { mImage = ResourceManager::getInstance()->getImage(file); - setSize(mImage->getWidth(), mImage->getHeight()); - + if (mImage) + setSize(mImage->getWidth(), mImage->getHeight()); } Icon::Icon(Image *image) : mImage(image) { - setSize(mImage->getWidth(), mImage->getHeight()); + if (mImage) + setSize(mImage->getWidth(), mImage->getHeight()); } void Icon::setImage(Image *image) { mImage = image; - setSize(mImage->getWidth(), mImage->getHeight()); + if (mImage) + setSize(mImage->getWidth(), mImage->getHeight()); } void Icon::draw(gcn::Graphics *g) diff --git a/src/gui/widgets/itemlinkhandler.cpp b/src/gui/widgets/itemlinkhandler.cpp index 0c51aeb3..b7341084 100644 --- a/src/gui/widgets/itemlinkhandler.cpp +++ b/src/gui/widgets/itemlinkhandler.cpp @@ -49,9 +49,8 @@ void ItemLinkHandler::handleLink(const std::string &link) if (id > 0) { - const ItemInfo &iteminfo = ItemDB::get(id); - - mItemPopup->setItem(iteminfo); + const ItemInfo &itemInfo = ItemDB::get(id); + mItemPopup->setItem(itemInfo, true); if (mItemPopup->isVisible()) mItemPopup->setVisible(false); 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); diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h index a8eb4e62..e62f4d92 100644 --- a/src/gui/widgets/window.h +++ b/src/gui/widgets/window.h @@ -180,12 +180,12 @@ class Window : public gcn::Window, gcn::WidgetListener void setVisible(bool visible, bool forceSticky); /** - * Returns whether the window will save it's visibility. + * Returns whether the window is visible by default. */ bool isDefaultVisible() const { return mDefaultVisible; } /** - * Returns whether the window will save it's visibility. + * Sets whether the window is visible by default. */ void setDefaultVisible(bool save) { mDefaultVisible = save; } @@ -195,7 +195,7 @@ class Window : public gcn::Window, gcn::WidgetListener bool willSaveVisible() const { return mSaveVisible; } /** - * Returns whether the window will save it's visibility. + * Sets whether the window will save it's visibility. */ void setSaveVisible(bool save) { mSaveVisible = save; } |