From 81ed624c265bfd3164251cb736307847adb34b81 Mon Sep 17 00:00:00 2001 From: David Wendt Date: Thu, 13 Oct 2022 22:25:57 -0400 Subject: [PATCH] avm2: Loaders should not be opaque to mouse events. --- core/src/display_object/loader_display.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/core/src/display_object/loader_display.rs b/core/src/display_object/loader_display.rs index fc54c1861..e20d1aa07 100644 --- a/core/src/display_object/loader_display.rs +++ b/core/src/display_object/loader_display.rs @@ -105,6 +105,23 @@ impl<'gc> TInteractiveObject<'gc> for LoaderDisplay<'gc> { ) -> ClipEventResult { ClipEventResult::NotHandled } + + fn mouse_pick( + &self, + context: &mut UpdateContext<'_, 'gc, '_>, + pos: (Twips, Twips), + require_button_mode: bool, + ) -> Option> { + for child in self.iter_render_list().rev() { + if let Some(int) = child.as_interactive() { + if let Some(result) = int.mouse_pick(context, pos, require_button_mode) { + return Some(result); + } + } + } + + None + } } impl<'gc> TDisplayObjectContainer<'gc> for LoaderDisplay<'gc> {