diff options
| author | Johann Birnick <6528009+jbirnick@users.noreply.github.com> | 2024-08-05 13:02:04 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-05 11:02:04 +0000 |
| commit | 211b546e4e4c75caaa6ee31493d52802b898aa2a (patch) | |
| tree | 24fcdf449af13505743ab21a560fc372764c4dd9 /crates | |
| parent | 9909f12d4f599674055a6d0c775d573d315b89b8 (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.rs | 10 |
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. |
