From 1a934c4064abc2675fe199ff906dd08e6fcc0a85 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 15 Dec 2016 21:34:03 +0300 Subject: Fix skill level menu selection in rectangular skill tabs. --- src/gui/widgets/skillrectanglelistbox.h | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/gui/widgets/skillrectanglelistbox.h') diff --git a/src/gui/widgets/skillrectanglelistbox.h b/src/gui/widgets/skillrectanglelistbox.h index 584e2208c..6d65912ed 100644 --- a/src/gui/widgets/skillrectanglelistbox.h +++ b/src/gui/widgets/skillrectanglelistbox.h @@ -333,11 +333,22 @@ class SkillRectangleListBox final : public Widget, model->getSkillAt(mSelected) == skill) { skillPopup->hide(); - if (button == MouseButton::LEFT && - event.getX() > - getWidth() - mPadding - skill->skillLevelWidth) + + const int x = skill->x * mBoxWidth + mPadding; + const int y = skill->y * mBoxHeight + mPadding; + Font *const font = getFont(); + const int height = font->getHeight(); + const int eventX = event.getX(); + const int eventY = event.getY() - mTextYOffset; + if (button == MouseButton::LEFT) { - popupMenu->showSkillLevelPopup(skill); + if (eventX >= x + mTextXOffset && + eventX <= x + mBoxWidth - mTextXOffset && + eventY >= y && + eventY <= y + height) + { + popupMenu->showSkillLevelPopup(skill); + } } else if (button == MouseButton::RIGHT) { -- cgit v1.2.3-60-g2f50