Only call button actions if the mouse is released inside the button. Fixes #96

This commit is contained in:
Simon Robertshaw 2012-08-14 12:15:28 +01:00
parent b05a847e96
commit fe59ec9659
3 changed files with 5 additions and 4 deletions

View File

@ -49,7 +49,7 @@ public:
void SetShowSplit(bool split) { showSplit = split; }
SplitButtonAction * GetSplitActionCallback() { return splitActionCallback; }
void SetSplitActionCallback(SplitButtonAction * newAction) { splitActionCallback = newAction; }
virtual void OnMouseUp(int x, int y, unsigned int button)
virtual void OnMouseUnclick(int x, int y, unsigned int button)
{
if(isButtonDown)
{
@ -58,7 +58,7 @@ public:
else if(rightDown)
DoRightAction();
}
ui::Button::OnMouseUp(x, y, button);
ui::Button::OnMouseUnclick(x, y, button);
}
virtual void OnMouseMovedInside(int x, int y, int dx, int dy)

View File

@ -142,7 +142,7 @@ void Button::Draw(const Point& screenPos)
}
}
void Button::OnMouseUp(int x, int y, unsigned int button)
void Button::OnMouseUnclick(int x, int y, unsigned int button)
{
if(button != 1)
{
@ -183,6 +183,7 @@ void Button::OnMouseEnter(int x, int y)
void Button::OnMouseLeave(int x, int y)
{
isMouseInside = false;
isButtonDown = false;
}
void Button::DoAction()

View File

@ -34,7 +34,7 @@ public:
bool Enabled;
virtual void OnMouseClick(int x, int y, unsigned int button);
virtual void OnMouseUp(int x, int y, unsigned int button);
virtual void OnMouseUnclick(int x, int y, unsigned int button);
//virtual void OnMouseUp(int x, int y, unsigned int button);
virtual void OnMouseEnter(int x, int y);