diff options
Diffstat (limited to 'views/controls/button/checkbox.cc')
-rw-r--r-- | views/controls/button/checkbox.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/views/controls/button/checkbox.cc b/views/controls/button/checkbox.cc index 693e282..0cb01f6 100644 --- a/views/controls/button/checkbox.cc +++ b/views/controls/button/checkbox.cc @@ -131,14 +131,18 @@ bool Checkbox::OnMouseDragged(const MouseEvent& event) { return false; } -void Checkbox::OnMouseReleased(const MouseEvent& event, bool canceled) { - native_wrapper_->SetPushed(false); - if (!canceled && HitTestLabel(event)) { +void Checkbox::OnMouseReleased(const MouseEvent& event) { + OnMouseCaptureLost(); + if (HitTestLabel(event)) { SetChecked(!checked()); ButtonPressed(); } } +void Checkbox::OnMouseCaptureLost() { + native_wrapper_->SetPushed(false); +} + void Checkbox::OnMouseMoved(const MouseEvent& event) { native_wrapper_->SetPushed(HitTestLabel(event)); } |