Pārlūkot izejas kodu

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 :^)
Linus Groh 5 gadi atpakaļ
vecāks
revīzija
e77991e63a
1 mainītis faili ar 4 papildinājumiem un 1 dzēšanām
  1. 4 1
      Libraries/LibGUI/Widget.cpp

+ 4 - 1
Libraries/LibGUI/Widget.cpp

@@ -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