ladybird/Services
Linus Groh 895ab8e745 WindowServer: Take MenuApplet windows into account for hovered_window
This finally makes tooltips on menu applets the same as everywhere else!

Here's what went wrong:
WindowManager::process_mouse_event() receives a Window*&, determines the
hovered window and sets it accordingly. However there's a branch that
tests for menubar_rect().contains(event.position()) and returns early -
which resulted in hovered_window never being set to any MenuApplet
window, even hovered ones.

The hovered_window result is being used in WindowManager::event() and
passed to WindowManager::set_hovered_window(), which is responsible for
creating WindowLeft and WindowEntered events when the hovered window
changes, as a result of the mentioned chain of events this also never
happens for MenuApplet windows.
The WindowLeft event would the cause Window::handle_left_event() in
LibGUI to be called, which unsets the window's hovered widget, which
is necessary for the widget to receive a subsequent Enter event -
again, all of this never happened.

Now it's working as expected though, so we can start using tooltips on
menu applets :^)
2020-08-14 10:28:03 +02:00
..
AudioServer
Clipboard
DHCPClient
ImageDecoder
LaunchServer
LookupServer
NotificationServer Services: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
ProtocolServer
SystemMenu
SystemServer
Taskbar
TelnetServer
WebContent
WebServer
WindowServer WindowServer: Take MenuApplet windows into account for hovered_window 2020-08-14 10:28:03 +02:00
CMakeLists.txt