| Index: ui/views/controls/button/custom_button.cc
|
| diff --git a/ui/views/controls/button/custom_button.cc b/ui/views/controls/button/custom_button.cc
|
| index 66d9b2c1788b9b2d37e92c25eca1df27c527d796..bfc356c595d5577d1ee7e8e73347e5a8a0f68ed1 100644
|
| --- a/ui/views/controls/button/custom_button.cc
|
| +++ b/ui/views/controls/button/custom_button.cc
|
| @@ -137,16 +137,16 @@ const char* CustomButton::GetClassName() const {
|
| }
|
|
|
| bool CustomButton::OnMousePressed(const ui::MouseEvent& event) {
|
| - if (state_ != STATE_DISABLED) {
|
| - if (ShouldEnterPushedState(event) && HitTestPoint(event.location()))
|
| - SetState(STATE_PRESSED);
|
| - if (request_focus_on_press_)
|
| - RequestFocus();
|
| - if (IsTriggerableEvent(event) && notify_action_ == NOTIFY_ON_PRESS) {
|
| - NotifyClick(event);
|
| - // NOTE: We may be deleted at this point (by the listener's notification
|
| - // handler).
|
| - }
|
| + if (state_ == STATE_DISABLED)
|
| + return true;
|
| + if (ShouldEnterPushedState(event) && HitTestPoint(event.location()))
|
| + SetState(STATE_PRESSED);
|
| + if (request_focus_on_press_)
|
| + RequestFocus();
|
| + if (IsTriggerableEvent(event) && notify_action_ == NOTIFY_ON_PRESS) {
|
| + NotifyClick(event);
|
| + // NOTE: We may be deleted at this point (by the listener's notification
|
| + // handler).
|
| }
|
| return true;
|
| }
|
| @@ -162,20 +162,21 @@ bool CustomButton::OnMouseDragged(const ui::MouseEvent& event) {
|
| }
|
|
|
| void CustomButton::OnMouseReleased(const ui::MouseEvent& event) {
|
| - if (state_ == STATE_DISABLED)
|
| - return;
|
| -
|
| - if (!HitTestPoint(event.location())) {
|
| - SetState(STATE_NORMAL);
|
| - return;
|
| - }
|
| -
|
| - SetState(STATE_HOVERED);
|
| - if (IsTriggerableEvent(event) && notify_action_ == NOTIFY_ON_RELEASE) {
|
| - NotifyClick(event);
|
| - // NOTE: We may be deleted at this point (by the listener's notification
|
| - // handler).
|
| + if (state_ != STATE_DISABLED) {
|
| + if (!HitTestPoint(event.location())) {
|
| + SetState(STATE_NORMAL);
|
| + } else {
|
| + SetState(STATE_HOVERED);
|
| + if (IsTriggerableEvent(event) && notify_action_ == NOTIFY_ON_RELEASE) {
|
| + NotifyClick(event);
|
| + // NOTE: We may be deleted at this point (by the listener's notification
|
| + // handler).
|
| + return;
|
| + }
|
| + }
|
| }
|
| + if (notify_action_ == NOTIFY_ON_RELEASE)
|
| + OnClickCanceled(event);
|
| }
|
|
|
| void CustomButton::OnMouseCaptureLost() {
|
|
|