mirror of
https://github.com/RGBCube/serenity
synced 2025-05-29 13:15:08 +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:
parent
8a87aa85ae
commit
9a05175a88
1 changed files with 14 additions and 1 deletions
|
@ -18,7 +18,20 @@ class Menubar {
|
||||||
public:
|
public:
|
||||||
void add_menu(Menu& menu, Gfx::IntRect window_rect)
|
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);
|
m_menus.append(menu);
|
||||||
layout_menu(menu, window_rect);
|
layout_menu(menu, window_rect);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue