core: Clear mouse down flag even if there is no hovered object
This commit is contained in:
parent
a846d92d8c
commit
905f9d7ac6
|
@ -481,24 +481,30 @@ impl Player {
|
|||
let mut is_mouse_down = self.is_mouse_down;
|
||||
self.mutate_with_update_context(|avm, context| {
|
||||
if let Some(node) = context.mouse_hovered_object {
|
||||
if !node.removed() {
|
||||
if node.removed() {
|
||||
context.mouse_hovered_object = None;
|
||||
}
|
||||
}
|
||||
|
||||
match event {
|
||||
PlayerEvent::MouseDown { .. } => {
|
||||
is_mouse_down = true;
|
||||
needs_render = true;
|
||||
if let Some(node) = context.mouse_hovered_object {
|
||||
node.handle_clip_event(avm, context, ClipEvent::Press);
|
||||
}
|
||||
}
|
||||
|
||||
PlayerEvent::MouseUp { .. } => {
|
||||
is_mouse_down = false;
|
||||
needs_render = true;
|
||||
if let Some(node) = context.mouse_hovered_object {
|
||||
node.handle_clip_event(avm, context, ClipEvent::Release);
|
||||
}
|
||||
}
|
||||
|
||||
_ => (),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Self::run_actions(avm, context);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue