summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-08-14 19:48:58 +0300
committerAndrei Karas <akaras@inbox.ru>2016-08-14 19:48:58 +0300
commit461eb3a21a6872cf9a639ecbd6f9f21c8ff751b5 (patch)
tree98cd89f44c92ce56ff3f7ea125cf859dac49ae4b
parent135e4e0bda8a0f07471501975665f6157758b779 (diff)
downloadmanaplus-461eb3a21a6872cf9a639ecbd6f9f21c8ff751b5.tar.gz
manaplus-461eb3a21a6872cf9a639ecbd6f9f21c8ff751b5.tar.bz2
manaplus-461eb3a21a6872cf9a639ecbd6f9f21c8ff751b5.tar.xz
manaplus-461eb3a21a6872cf9a639ecbd6f9f21c8ff751b5.zip
Allow open submenus in same position with parent menu.
-rw-r--r--src/gui/popups/popupmenu.cpp20
-rw-r--r--src/gui/popups/popupmenu.h2
2 files changed, 20 insertions, 2 deletions
diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp
index 1bfa0e3e1..c3bd94087 100644
--- a/src/gui/popups/popupmenu.cpp
+++ b/src/gui/popups/popupmenu.cpp
@@ -482,6 +482,22 @@ void PopupMenu::setMousePos()
}
}
+void PopupMenu::setMousePos2()
+{
+ if (mX == 0 && mY == 0)
+ {
+ if (viewport)
+ {
+ mX = viewport->mMouseX;
+ mY = viewport->mMouseY;
+ }
+ else
+ {
+ Gui::getMouseState(mX, mY);
+ }
+ }
+}
+
void PopupMenu::showPopup(const int x, const int y,
const std::vector<ActorSprite*> &beings)
{
@@ -2392,7 +2408,7 @@ void PopupMenu::showSkillLevelPopup(const SkillInfo *const info)
{
if (!info)
return;
- setMousePos();
+ setMousePos2();
// using mItemId as skill id
mItemId = info->id;
@@ -2430,7 +2446,7 @@ void PopupMenu::showSkillTypePopup(const SkillInfo *const info)
{
if (!info)
return;
- setMousePos();
+ setMousePos2();
// using mItemId as skill id
mItemId = info->id;
diff --git a/src/gui/popups/popupmenu.h b/src/gui/popups/popupmenu.h
index ba88e93f1..b84375dcd 100644
--- a/src/gui/popups/popupmenu.h
+++ b/src/gui/popups/popupmenu.h
@@ -188,6 +188,8 @@ class PopupMenu final : public Popup, public LinkHandler
private:
void setMousePos();
+ void setMousePos2();
+
void addPlayerRelation(const std::string &name);
void addFollow();