summaryrefslogtreecommitdiff
path: root/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp
diff options
context:
space:
mode:
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);