diff --git a/selfdrive/ui/qt/widgets/toggle.cc b/selfdrive/ui/qt/widgets/toggle.cc index e319f80179..e909180d15 100644 --- a/selfdrive/ui/qt/widgets/toggle.cc +++ b/selfdrive/ui/qt/widgets/toggle.cc @@ -37,13 +37,13 @@ void Toggle::paintEvent(QPaintEvent *e) { } void Toggle::mouseReleaseEvent(QMouseEvent *e) { - if(!enabled) { + if (!enabled) { return; } const int left = _radius; const int right = width() - _radius; - if(_x_circle != left && _x_circle != right) { - //Don't parse touch events, while the animation is running + if ((_x_circle != left && _x_circle != right) || !this->rect().contains(e->localPos().toPoint())) { + // If mouse release isn't in rect or animation is running, don't parse touch events return; } if (e->button() & Qt::LeftButton) { @@ -80,4 +80,4 @@ void Toggle::setEnabled(bool value) { circleColor.setRgb(0x888888); green.setRgb(0x227722); } -} \ No newline at end of file +}