diff --git a/crates/render/src/images.rs b/crates/render/src/images.rs index 4df71f42b..e2d49873c 100644 --- a/crates/render/src/images.rs +++ b/crates/render/src/images.rs @@ -201,8 +201,8 @@ fn reduced_estimates(wants: &[Want]) -> Option<(usize, usize)> { } let shrink = level.min(usize::from(designcraft_images::MAX_REDUCED_SHRINK)); let (decoded_w, decoded_h) = designcraft_images::reduced_jpeg_size(&w.bytes, shrink as u8)?; - for cached in shrink..=level { - levels[cached] = true; + for cached in levels.iter_mut().take(level + 1).skip(shrink) { + *cached = true; } peak = peak.max(decoded_w as usize * decoded_h as usize * 8); if dims.as_ref().is_none_or(|d: &Vec<(u32, u32)>| d.len() < sizes.len()) {