From 343a0aed78f520ae3e7dcb82dfcf483652ff4b28 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Thu, 3 Mar 2022 17:33:53 +0300 Subject: [PATCH] Fix scroller handling mouse click --- libs/ui/source/scroller.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/libs/ui/source/scroller.cpp b/libs/ui/source/scroller.cpp index a76193be..daf99cdc 100644 --- a/libs/ui/source/scroller.cpp +++ b/libs/ui/source/scroller.cpp @@ -107,26 +107,28 @@ namespace psemek::ui if (e.button != mouse_button::left) return false; + bool result = false; + if (horizontal_scroll()) { switch (horizontal_state_) { case state_t::normal: - return false; + break; case state_t::mouseover: if (e.down) { horizontal_state_ = state_t::mousedown; - return true; + result = true; } - return false; + break; case state_t::mousedown: if (!e.down) { horizontal_state_ = state_t::mouseover; - return true; + result = true; } - return false; + break; } } @@ -135,25 +137,25 @@ namespace psemek::ui switch (vertical_state_) { case state_t::normal: - return false; + break; case state_t::mouseover: if (e.down) { vertical_state_ = state_t::mousedown; - return true; + result = true; } - return false; + break; case state_t::mousedown: if (!e.down) { vertical_state_ = state_t::mouseover; - return true; + result = true; } - return false; + break; } } - return false; + return result; } bool scroller::on_event(mouse_wheel const & e)