diff --git a/crates/gpui/src/text_system.rs b/crates/gpui/src/text_system.rs index 39f68e3226a81633fbd82d1eab989f3a2893d9da..070e434dc992af4ca5b28f6e55aa0aa3cb9e5790 100644 --- a/crates/gpui/src/text_system.rs +++ b/crates/gpui/src/text_system.rs @@ -550,7 +550,6 @@ impl WindowTextSystem { force_width: Option, ) -> Arc { let mut last_run = None::<&TextRun>; - let mut last_font: Option = None; let mut font_runs = self.font_runs_pool.lock().pop().unwrap_or_default(); font_runs.clear(); @@ -568,14 +567,13 @@ impl WindowTextSystem { true }; + let font_id = self.resolve_font(&run.font); if let Some(font_run) = font_runs.last_mut() - && Some(font_run.font_id) == last_font + && font_id == font_run.font_id && !decoration_changed { font_run.len += run.len; } else { - let font_id = self.resolve_font(&run.font); - last_font = Some(font_id); font_runs.push(FontRun { len: run.len, font_id,