diff options
author | sin-ack <sin-ack@users.noreply.github.com> | 2021-07-29 10:14:12 +0000 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-08-02 00:39:15 +0200 |
commit | 611370e7dcf7e2820738036133dafb2b45340780 (patch) | |
tree | 05c95a3613facaaab426f3c0b4faaf9413a53c9c /Userland/Libraries/LibGUI/Window.h | |
parent | 95ab61e3db7b26380adaa84cc2473bc62a186e33 (diff) | |
download | serenity-611370e7dcf7e2820738036133dafb2b45340780.zip |
LibGUI, WindowServer: Greatly simplify menubar logic
Currently, any number of menubars can be plugged in and out of a window.
This is unnecessary complexity, since we only need one menubar on a
window. This commit removes most of the logic for dynamically attaching
and detaching menubars and makes one menubar always available. The
menubar is only considered existent if it has at least a single menu in
it (in other words, an empty menubar will not be shown).
This commit additionally fixes a bug wherein menus added after a menubar
has been attached would not have their rects properly setup, and would
therefore appear glitched out on the top left corner of the menubar.
Diffstat (limited to 'Userland/Libraries/LibGUI/Window.h')
-rw-r--r-- | Userland/Libraries/LibGUI/Window.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/Userland/Libraries/LibGUI/Window.h b/Userland/Libraries/LibGUI/Window.h index 0b597f90ed..18945fee26 100644 --- a/Userland/Libraries/LibGUI/Window.h +++ b/Userland/Libraries/LibGUI/Window.h @@ -201,7 +201,6 @@ public: void did_disable_focused_widget(Badge<Widget>); Menu& add_menu(String name); - void set_menubar(RefPtr<Menubar>); protected: Window(Core::Object* parent = nullptr); @@ -242,7 +241,7 @@ private: OwnPtr<WindowBackingStore> m_front_store; OwnPtr<WindowBackingStore> m_back_store; - RefPtr<Menubar> m_menubar; + NonnullRefPtr<Menubar> m_menubar; RefPtr<Gfx::Bitmap> m_icon; RefPtr<Gfx::Bitmap> m_custom_cursor; |