summaryrefslogtreecommitdiff
path: root/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2026-03-02 19:31:33 +0000
committerGitHub <noreply@github.com>2026-03-02 19:31:33 +0000
commit3b7401b065d78582fe67591f37d36021e94d2f0a (patch)
treee2f43e3a7843b5698614382c077a6142e5da081e /src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp
parentd4d17d5d52a1370d536564ec4d45dd5701675da9 (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.cpp6
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);