From 7170762f08009cc69e7e8d81a29d7e2435a4eeed Mon Sep 17 00:00:00 2001 From: David Capello Date: Thu, 11 Jun 2020 15:30:06 -0300 Subject: [PATCH] Timeline: Limit the vertical separator min/max position (fix #2436) --- src/app/ui/timeline/timeline.cpp | 8 +++++++- src/app/ui/timeline/timeline.h | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/app/ui/timeline/timeline.cpp b/src/app/ui/timeline/timeline.cpp index 587a02c65..f5de2fc58 100644 --- a/src/app/ui/timeline/timeline.cpp +++ b/src/app/ui/timeline/timeline.cpp @@ -1064,7 +1064,7 @@ bool Timeline::onProcessMessage(Message* msg) // we shouldn't change the hot (so the separator can be // tracked to the mouse's released). if (m_clk.part == PART_SEPARATOR) { - m_separator_x = std::max(0, mousePos.x); + setSeparatorX(mousePos.x); layout(); return true; } @@ -1532,6 +1532,7 @@ void Timeline::onResize(ui::ResizeEvent& ev) std::min(sz.w, m_separator_x), oneTagHeight())); + setSeparatorX(m_separator_x); updateScrollBars(); } @@ -4215,4 +4216,9 @@ void Timeline::setLayerCollapsedFlag(const layer_t l, const bool state) } } +void Timeline::setSeparatorX(int newValue) +{ + m_separator_x = base::clamp(newValue, headerBoxWidth(), bounds().w-guiscale()); +} + } // namespace app diff --git a/src/app/ui/timeline/timeline.h b/src/app/ui/timeline/timeline.h index f826c9645..823a88533 100644 --- a/src/app/ui/timeline/timeline.h +++ b/src/app/ui/timeline/timeline.h @@ -357,6 +357,8 @@ namespace app { void setLayerContinuousFlag(const layer_t layer, const bool state); void setLayerCollapsedFlag(const layer_t layer, const bool state); + void setSeparatorX(int newValue); + ui::ScrollBar m_hbar; ui::ScrollBar m_vbar; gfx::Rect m_viewportArea;