1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 05:34:58 +00:00

WindowServer: Do not add existing menu items (by ptr) to m_menus

This resolves a fixme requesting that we do not add duplicate menus
This commit is contained in:
Cody Hein 2023-01-03 13:22:08 -07:00 committed by Sam Atkins
parent 8a87aa85ae
commit 9a05175a88

View file

@ -18,7 +18,20 @@ class Menubar {
public:
void add_menu(Menu& menu, Gfx::IntRect window_rect)
{
// FIXME: Check against duplicate menu additions.
bool duplicate_menu_detected = false;
for_each_menu([&](Menu& existing_menu) {
if (&menu == &existing_menu) {
dbgln("Duplicate Menu \"{}\" ({})", menu.name(), &menu);
duplicate_menu_detected = true;
return IterationDecision::Break;
}
return IterationDecision::Continue;
});
if (duplicate_menu_detected) {
return;
}
m_menus.append(menu);
layout_menu(menu, window_rect);
}