diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2026-03-02 19:31:33 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-02 19:31:33 +0000 |
| commit | 3b7401b065d78582fe67591f37d36021e94d2f0a (patch) | |
| tree | e2f43e3a7843b5698614382c077a6142e5da081e /src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp | |
| parent | d4d17d5d52a1370d536564ec4d45dd5701675da9 (diff) | |
algo/scroll: improve directional moves (#13423)
Diffstat (limited to 'src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp')
| -rw-r--r-- | src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp b/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp index c6cda4b5..77ab74b1 100644 --- a/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp +++ b/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp @@ -55,12 +55,14 @@ size_t CScrollTapeController::addStrip(float size) { return m_strips.size() - 1; } -void CScrollTapeController::insertStrip(size_t afterIndex, float size) { - if (afterIndex >= m_strips.size()) { +void CScrollTapeController::insertStrip(ssize_t afterIndex, float size) { + if (afterIndex >= sc<ssize_t>(m_strips.size())) { addStrip(size); return; } + afterIndex = std::clamp(afterIndex, -1L, sc<ssize_t>(INT32_MAX)); + SStripData newStrip; newStrip.size = size; m_strips.insert(m_strips.begin() + afterIndex + 1, newStrip); |
