diff --git a/LibGUI/GMenu.cpp b/LibGUI/GMenu.cpp index 592c709fda..dad8cc6f5a 100644 --- a/LibGUI/GMenu.cpp +++ b/LibGUI/GMenu.cpp @@ -3,6 +3,8 @@ #include #include +//#define GMENU_DEBUG + static HashMap& all_menus() { static HashMap* map; @@ -32,7 +34,9 @@ GMenu::~GMenu() void GMenu::add_action(Retained action) { m_items.append(make(m_menu_id, move(action))); - dbgprintf("MenuItem Menu ID: %d\n", m_menu_id); +#ifdef GMENU_DEBUG + dbgprintf("GMenu::add_action(): MenuItem Menu ID: %d\n", m_menu_id); +#endif } void GMenu::add_separator() @@ -42,7 +46,7 @@ void GMenu::add_separator() void GMenu::popup(const Point& screen_position) { - if (!m_menu_id) + if (m_menu_id == -1) realize_menu(); WSAPI_ClientMessage request; request.type = WSAPI_ClientMessage::Type::PopupMenu; @@ -53,7 +57,7 @@ void GMenu::popup(const Point& screen_position) void GMenu::dismiss() { - if (!m_menu_id) + if (m_menu_id == -1) return; WSAPI_ClientMessage request; request.type = WSAPI_ClientMessage::Type::DismissMenu; @@ -71,7 +75,9 @@ int GMenu::realize_menu() auto response = GEventLoop::current().sync_request(request, WSAPI_ServerMessage::Type::DidCreateMenu); m_menu_id = response.menu.menu_id; - dbgprintf("GMenu: Realizing menu! New menu ID: %d", m_menu_id); +#ifdef GMENU_DEBUG + dbgprintf("GMenu::realize_menu(): New menu ID: %d\n", m_menu_id); +#endif ASSERT(m_menu_id > 0); for (int i = 0; i < m_items.size(); ++i) { auto& item = *m_items[i]; @@ -81,7 +87,6 @@ int GMenu::realize_menu() WSAPI_ClientMessage request; request.type = WSAPI_ClientMessage::Type::AddMenuSeparator; request.menu.menu_id = m_menu_id; - dbgprintf("MenuItem [New] Menu ID: %d\n", m_menu_id); GEventLoop::current().sync_request(request, WSAPI_ServerMessage::Type::DidAddMenuSeparator); continue; } @@ -117,7 +122,7 @@ int GMenu::realize_menu() void GMenu::unrealize_menu() { - if (!m_menu_id) + if (m_menu_id == -1) return; all_menus().remove(m_menu_id); WSAPI_ClientMessage request; diff --git a/LibGUI/GMenuBar.cpp b/LibGUI/GMenuBar.cpp index 8befe45944..1622d09fa0 100644 --- a/LibGUI/GMenuBar.cpp +++ b/LibGUI/GMenuBar.cpp @@ -25,24 +25,24 @@ int GMenuBar::realize_menubar() void GMenuBar::unrealize_menubar() { - if (!m_menubar_id) + if (m_menubar_id == -1) return; WSAPI_ClientMessage request; request.type = WSAPI_ClientMessage::Type::DestroyMenubar; request.menu.menubar_id = m_menubar_id; GEventLoop::current().sync_request(request, WSAPI_ServerMessage::Type::DidDestroyMenubar); - m_menubar_id = 0; + m_menubar_id = -1; } void GMenuBar::notify_added_to_application(Badge) { - ASSERT(!m_menubar_id); + ASSERT(m_menubar_id == -1); m_menubar_id = realize_menubar(); - ASSERT(m_menubar_id > 0); + ASSERT(m_menubar_id != -1); for (auto& menu : m_menus) { ASSERT(menu); int menu_id = menu->realize_menu(); - ASSERT(menu_id > 0); + ASSERT(menu_id != -1); WSAPI_ClientMessage request; request.type = WSAPI_ClientMessage::Type::AddMenuToMenubar; request.menu.menubar_id = m_menubar_id; diff --git a/LibGUI/GMenuBar.h b/LibGUI/GMenuBar.h index 1615790a9e..4fc4d90554 100644 --- a/LibGUI/GMenuBar.h +++ b/LibGUI/GMenuBar.h @@ -20,6 +20,6 @@ private: int realize_menubar(); void unrealize_menubar(); - int m_menubar_id { 0 }; + int m_menubar_id { -1 }; Vector> m_menus; };