summaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorJohann Birnick <6528009+jbirnick@users.noreply.github.com>2024-08-05 13:02:04 +0200
committerGitHub <noreply@github.com>2024-08-05 11:02:04 +0000
commit211b546e4e4c75caaa6ee31493d52802b898aa2a (patch)
tree24fcdf449af13505743ab21a560fc372764c4dd9 /crates
parent9909f12d4f599674055a6d0c775d573d315b89b8 (diff)
Fixes counter stepping behavior (#4631)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
Diffstat (limited to 'crates')
-rw-r--r--crates/typst/src/introspection/counter.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/typst/src/introspection/counter.rs b/crates/typst/src/introspection/counter.rs
index 2aefb68e..b9462e3d 100644
--- a/crates/typst/src/introspection/counter.rs
+++ b/crates/typst/src/introspection/counter.rs
@@ -685,14 +685,12 @@ impl CounterState {
pub fn step(&mut self, level: NonZeroUsize, by: usize) {
let level = level.get();
- if self.0.len() >= level {
- self.0[level - 1] = self.0[level - 1].saturating_add(by);
- self.0.truncate(level);
- }
-
while self.0.len() < level {
- self.0.push(1);
+ self.0.push(0);
}
+
+ self.0[level - 1] = self.0[level - 1].saturating_add(by);
+ self.0.truncate(level);
}
/// Get the first number of the state.