diff --git a/src/components/main/layout/box.rs b/src/components/main/layout/box.rs index f745b0148b1..932c788ff00 100644 --- a/src/components/main/layout/box.rs +++ b/src/components/main/layout/box.rs @@ -924,9 +924,8 @@ impl Box { let left_box = if left_range.length() > 0 { let new_text_box_info = ScannedTextBoxInfo::new(text_box_info.run.clone(), left_range); let new_metrics = new_text_box_info.run.get().metrics_for_range(&left_range); - let new_text_box = Box::new(self.node, ScannedTextBox(new_text_box_info)); - new_text_box.set_size(new_metrics.bounding_box.size); - Some(new_text_box) + Some(self.transform(new_metrics.bounding_box.size, + ScannedTextBox(new_text_box_info))) } else { None }; @@ -934,9 +933,8 @@ impl Box { let right_box = right_range.map_default(None, |range: Range| { let new_text_box_info = ScannedTextBoxInfo::new(text_box_info.run.clone(), range); let new_metrics = new_text_box_info.run.get().metrics_for_range(&range); - let new_text_box = Box::new(self.node, ScannedTextBox(new_text_box_info)); - new_text_box.set_size(new_metrics.bounding_box.size); - Some(new_text_box) + Some(self.transform(new_metrics.bounding_box.size, + ScannedTextBox(new_text_box_info))) }); if pieces_processed_count == 1 || left_box.is_none() {