summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGUI/Window.cpp
diff options
context:
space:
mode:
authorsin-ack <sin-ack@users.noreply.github.com>2021-07-25 21:09:54 +0000
committerAli Mohammad Pur <Ali.mpfard@gmail.com>2021-07-26 21:14:39 +0430
commitcfc9ee6f16b9c4d2b246bb2832dd436637cbeaad (patch)
tree01fdd797e75aff6933cc7e496cb84f6bf8d5c802 /Userland/Libraries/LibGUI/Window.cpp
parent444ed565215f5b164978cab7a7cb1ee86959cc34 (diff)
downloadserenity-cfc9ee6f16b9c4d2b246bb2832dd436637cbeaad.zip
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.
Diffstat (limited to 'Userland/Libraries/LibGUI/Window.cpp')
-rw-r--r--Userland/Libraries/LibGUI/Window.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Userland/Libraries/LibGUI/Window.cpp b/Userland/Libraries/LibGUI/Window.cpp
index 781dcd8636..910e04fc0a 100644
--- a/Userland/Libraries/LibGUI/Window.cpp
+++ b/Userland/Libraries/LibGUI/Window.cpp
@@ -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;