Change summary
crates/gpui/src/text_system/line_layout.rs | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
Detailed changes
@@ -247,10 +247,11 @@ impl WrappedLineLayout {
let wrapped_line_ix = (position.y / line_height) as usize;
let wrapped_line_start_x = if wrapped_line_ix > 0 {
- let wrap_boundary_ix = wrapped_line_ix - 1;
- let wrap_boundary = self.wrap_boundaries[wrap_boundary_ix];
- let run = &self.unwrapped_layout.runs[wrap_boundary.run_ix];
- run.glyphs[wrap_boundary.glyph_ix].position.x
+ let Some(line_start_boundary) = self.wrap_boundaries.get(wrapped_line_ix - 1) else {
+ return None;
+ };
+ let run = &self.unwrapped_layout.runs[line_start_boundary.run_ix];
+ run.glyphs[line_start_boundary.glyph_ix].position.x
} else {
Pixels::ZERO
};