diff --git a/core/src/avm2/globals/flash/display/display_object_container.rs b/core/src/avm2/globals/flash/display/display_object_container.rs index 199861de3..5a3eada8c 100644 --- a/core/src/avm2/globals/flash/display/display_object_container.rs +++ b/core/src/avm2/globals/flash/display/display_object_container.rs @@ -634,11 +634,7 @@ pub fn set_mouse_children<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_container()) { - let mouse_children = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let mouse_children = args.get_bool(0); dobj.raw_container_mut(activation.context.gc_context) .set_mouse_children(mouse_children); diff --git a/core/src/avm2/globals/flash/display/interactive_object.rs b/core/src/avm2/globals/flash/display/interactive_object.rs index 11746f024..1592225a0 100644 --- a/core/src/avm2/globals/flash/display/interactive_object.rs +++ b/core/src/avm2/globals/flash/display/interactive_object.rs @@ -2,6 +2,7 @@ use crate::avm2::activation::Activation; use crate::avm2::object::{Object, TObject}; +use crate::avm2::parameters::ParametersExt; use crate::avm2::value::Value; use crate::avm2::Error; use crate::avm2::Multiname; @@ -48,11 +49,7 @@ pub fn set_mouse_enabled<'gc>( .and_then(|t| t.as_display_object()) .and_then(|dobj| dobj.as_interactive()) { - let value = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let value = args.get_bool(0); int.set_mouse_enabled(activation.context.gc_context, value); } @@ -85,11 +82,7 @@ pub fn set_double_click_enabled<'gc>( .and_then(|t| t.as_display_object()) .and_then(|dobj| dobj.as_interactive()) { - let value = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let value = args.get_bool(0); int.set_double_click_enabled(activation.context.gc_context, value); } diff --git a/core/src/avm2/globals/flash/display/simple_button.rs b/core/src/avm2/globals/flash/display/simple_button.rs index 229490888..9e7b8d676 100644 --- a/core/src/avm2/globals/flash/display/simple_button.rs +++ b/core/src/avm2/globals/flash/display/simple_button.rs @@ -11,6 +11,7 @@ use swf::ButtonState; pub use crate::avm2::globals::flash::media::soundmixer::{ get_sound_transform, set_sound_transform, }; +use crate::avm2::parameters::ParametersExt; /// Implements `flash.display.SimpleButton`'s 'init' method. which is called from the constructor pub fn init<'gc>( @@ -258,12 +259,7 @@ pub fn set_track_as_menu<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_avm2_button()) { - match args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean() - { + match args.get_bool(0) { true => btn.set_button_tracking(&mut activation.context, ButtonTracking::Menu), false => btn.set_button_tracking(&mut activation.context, ButtonTracking::Push), } diff --git a/core/src/avm2/globals/flash/display/sprite.rs b/core/src/avm2/globals/flash/display/sprite.rs index 3ca7d59e0..425de79c2 100644 --- a/core/src/avm2/globals/flash/display/sprite.rs +++ b/core/src/avm2/globals/flash/display/sprite.rs @@ -2,6 +2,7 @@ use crate::avm2::activation::Activation; use crate::avm2::object::{Object, StageObject, TObject}; +use crate::avm2::parameters::ParametersExt; use crate::avm2::value::Value; use crate::avm2::Error; use crate::avm2::Multiname; @@ -151,11 +152,7 @@ pub fn set_button_mode<'gc>( .and_then(|o| o.as_display_object()) .and_then(|o| o.as_movie_clip()) { - let forced_button_mode = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let forced_button_mode = args.get_bool(0); mc.set_forced_button_mode(&mut activation.context, forced_button_mode); } diff --git a/core/src/avm2/globals/flash/text/text_field.rs b/core/src/avm2/globals/flash/text/text_field.rs index c8e384ea2..178086c35 100644 --- a/core/src/avm2/globals/flash/text/text_field.rs +++ b/core/src/avm2/globals/flash/text/text_field.rs @@ -2,6 +2,7 @@ use crate::avm2::activation::Activation; use crate::avm2::object::{Object, TObject, TextFormatObject}; +use crate::avm2::parameters::ParametersExt; use crate::avm2::value::Value; use crate::avm2::Error; use crate::display_object::{AutoSizeMode, EditText, TDisplayObject, TextSelection}; @@ -125,11 +126,7 @@ pub fn set_background<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_edit_text()) { - let has_background = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let has_background = args.get_bool(0); this.set_has_background(activation.context.gc_context, has_background); } @@ -195,11 +192,7 @@ pub fn set_border<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_edit_text()) { - let border = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let border = args.get_bool(0); this.set_has_border(activation.context.gc_context, border); } @@ -319,11 +312,7 @@ pub fn set_display_as_password<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_edit_text()) { - let is_password = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let is_password = args.get_bool(0); this.set_password(is_password, &mut activation.context); } @@ -355,11 +344,7 @@ pub fn set_embed_fonts<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_edit_text()) { - let is_embed_fonts = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let is_embed_fonts = args.get_bool(0); this.set_is_device_font(&mut activation.context, !is_embed_fonts); } @@ -442,11 +427,7 @@ pub fn set_multiline<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_edit_text()) { - let is_multiline = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let is_multiline = args.get_bool(0); this.set_multiline(is_multiline, &mut activation.context); } @@ -478,11 +459,7 @@ pub fn set_selectable<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_edit_text()) { - let is_selectable = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let is_selectable = args.get_bool(0); this.set_selectable(is_selectable, &mut activation.context); } @@ -677,11 +654,7 @@ pub fn set_word_wrap<'gc>( .and_then(|this| this.as_display_object()) .and_then(|this| this.as_edit_text()) { - let is_word_wrap = args - .get(0) - .cloned() - .unwrap_or(Value::Undefined) - .coerce_to_boolean(); + let is_word_wrap = args.get_bool(0); this.set_word_wrap(is_word_wrap, &mut activation.context); }