LibGUI: Fix Widget::screen_relative_rect() for WindowType::MenuApplet

This was using window()->position(), which is unset for windows with
WindowType::MenuApplet. Now it checks the window type and then uses
rect_in_menubar() for MenuApplet windows and rect() for everything else.

This makes tooltips show up for MenuApplet windows, previously they were
positioned off-screen :^)
This commit is contained in:
Linus Groh 2020-08-13 21:15:13 +02:00 committed by Andreas Kling
parent e58d3b8481
commit e77991e63a
Notes: sideshowbarker 2024-07-19 03:39:50 +09:00

View File

@ -464,7 +464,10 @@ Gfx::IntRect Widget::window_relative_rect() const
Gfx::IntRect Widget::screen_relative_rect() const
{
return window_relative_rect().translated(window()->position());
auto window_position = window()->window_type() == WindowType::MenuApplet
? window()->rect_in_menubar().location()
: window()->rect().location();
return window_relative_rect().translated(window_position);
}
Widget* Widget::child_at(const Gfx::IntPoint& point) const