diff --git a/core/src/avm2/globals/flash/text/engine/text_block.rs b/core/src/avm2/globals/flash/text/engine/text_block.rs index 8b29e4e6e..d3f85cdb9 100644 --- a/core/src/avm2/globals/flash/text/engine/text_block.rs +++ b/core/src/avm2/globals/flash/text/engine/text_block.rs @@ -6,7 +6,7 @@ use crate::avm2::parameters::ParametersExt; use crate::avm2::value::Value; use crate::avm2::Multiname; use crate::avm2_stub_method; -use crate::display_object::EditText; +use crate::display_object::{EditText, TDisplayObject}; use crate::html::TextFormat; use crate::string::WStr; @@ -151,5 +151,9 @@ fn apply_format<'gc>( display_object.set_word_wrap(true, &mut activation.context); + let measured_text = display_object.measure_text(&mut activation.context); + + display_object.set_height(&mut activation.context, measured_text.1.to_pixels()); + Ok(()) } diff --git a/core/src/display_object/edit_text.rs b/core/src/display_object/edit_text.rs index d77e058d8..e97ee1930 100644 --- a/core/src/display_object/edit_text.rs +++ b/core/src/display_object/edit_text.rs @@ -789,12 +789,6 @@ impl<'gc> EditText<'gc> { !edit_text.flags.contains(EditTextFlag::USE_OUTLINES), ); - if edit_text.is_tlf { - // Resize the TLF textfield to match the height of the text. - // FIXME: This should probably be done in text_block::create_text_line. - edit_text.bounds.set_height(intrinsic_bounds.extent_y()); - } - edit_text.line_data = get_line_data(&new_layout); edit_text.layout = new_layout; edit_text.intrinsic_bounds = intrinsic_bounds;