summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorEugenio Favalli <elvenprogrammer@gmail.com>2007-08-14 12:11:11 +0000
committerEugenio Favalli <elvenprogrammer@gmail.com>2007-08-14 12:11:11 +0000
commit6c93c10b145d6dd619180bdade5eb9c9392996f1 (patch)
treebe08d79941509d2f97c3ffae6bea2ab4db3affbc /src/gui
parent4c15cf97659186bd5ee87068466b498b07ff3182 (diff)
downloadmana-6c93c10b145d6dd619180bdade5eb9c9392996f1.tar.gz
mana-6c93c10b145d6dd619180bdade5eb9c9392996f1.tar.bz2
mana-6c93c10b145d6dd619180bdade5eb9c9392996f1.tar.xz
mana-6c93c10b145d6dd619180bdade5eb9c9392996f1.zip
Fixed popup menu requiring one more click after being used.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/popupmenu.cpp6
-rw-r--r--src/gui/viewport.cpp9
-rw-r--r--src/gui/viewport.h1
3 files changed, 2 insertions, 14 deletions
diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp
index c2959e1d..8f93cb1e 100644
--- a/src/gui/popupmenu.cpp
+++ b/src/gui/popupmenu.cpp
@@ -210,12 +210,6 @@ void PopupMenu::handleLink(const std::string& link)
setVisible(false);
- /*
- * This is need cause of a bug in guichan that leave
- * the focus on the popup menu even if is not visible.
- */
- _getFocusHandler()->focusNone();
-
mBeing = NULL;
mFloorItem = NULL;
mItem = NULL;
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp
index c1a904f5..6c89d107 100644
--- a/src/gui/viewport.cpp
+++ b/src/gui/viewport.cpp
@@ -55,8 +55,7 @@ Viewport::Viewport():
mCameraX(0),
mCameraY(0),
mShowDebugPath(false),
- mPlayerFollowMouse(false),
- mPopupActive(false)
+ mPlayerFollowMouse(false)
{
setOpaque(false);
addMouseListener(this);
@@ -383,10 +382,9 @@ Viewport::mousePressed(gcn::MouseEvent &event)
}
// If a popup is active, just remove it
- if (mPopupActive)
+ if (mPopupMenu->isVisible())
{
mPopupMenu->setVisible(false);
- mPopupActive = false;
return;
}
@@ -473,21 +471,18 @@ void
Viewport::showPopup(int x, int y, Item *item)
{
mPopupMenu->showPopup(x, y, item);
- mPopupActive = true;
}
void
Viewport::showPopup(int x, int y, FloorItem *floorItem)
{
mPopupMenu->showPopup(x, y, floorItem);
- mPopupActive = true;
}
void
Viewport::showPopup(int x, int y, Being *being)
{
mPopupMenu->showPopup(x, y, being);
- mPopupActive = true;
}
void
diff --git a/src/gui/viewport.h b/src/gui/viewport.h
index 22d0f249..16136cee 100644
--- a/src/gui/viewport.h
+++ b/src/gui/viewport.h
@@ -187,7 +187,6 @@ class Viewport : public WindowContainer, public gcn::MouseListener,
int mWalkTime;
PopupMenu *mPopupMenu; /**< Popup menu. */
- bool mPopupActive;
};
#endif