diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index e2326a24563129b49bc562a499085652645b0abe..57c84b62b5b82beb012e094c556cc5c990fdc64d 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -4495,20 +4495,26 @@ fn layout_line( ) -> Result { let mut line = snapshot.line(row); - if line.len() > MAX_LINE_LEN { - let mut len = MAX_LINE_LEN; - while !line.is_char_boundary(len) { - len -= 1; - } + let len = { + let line_len = line.len(); + if line_len > MAX_LINE_LEN { + let mut len = MAX_LINE_LEN; + while !line.is_char_boundary(len) { + len -= 1; + } - line.truncate(len); - } + line.truncate(len); + len + } else { + line_len + } + }; cx.text_system().shape_line( line.into(), style.text.font_size.to_pixels(cx.rem_size()), &[TextRun { - len: snapshot.line_len(row) as usize, + len, font: style.text.font(), color: Hsla::default(), background_color: None,