1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:28:10 +00:00

LibGUI: Only dispatch Leave if the now-hovered widget isn't a child

Without this change, when the mouse starts hovering over a child widget,
the parent would receive a Leave event despite the parent widget not
losing mouse hover.
This commit is contained in:
sin-ack 2021-07-25 21:09:54 +00:00 committed by Ali Mohammad Pur
parent 444ed56521
commit cfc9ee6f16
3 changed files with 19 additions and 1 deletions

View file

@ -802,7 +802,7 @@ void Window::set_hovered_widget(Widget* widget)
if (widget == m_hovered_widget)
return;
if (m_hovered_widget)
if (m_hovered_widget && !m_hovered_widget->is_parent_of(widget))
Core::EventLoop::current().post_event(*m_hovered_widget, make<Event>(Event::Leave));
m_hovered_widget = widget;