mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:07:35 +00:00
Everywhere: Replace Vector<T*> with nonnull entries with Vector<T&>
This commit is contained in:
parent
3d94b5051d
commit
7ac196974d
22 changed files with 92 additions and 94 deletions
|
@ -227,34 +227,34 @@ void MenuManager::close_everyone()
|
|||
|
||||
void MenuManager::close_everyone_not_in_lineage(Menu& menu)
|
||||
{
|
||||
Vector<Menu*> menus_to_close;
|
||||
Vector<Menu&> menus_to_close;
|
||||
for (auto& open_menu : m_open_menu_stack) {
|
||||
if (!open_menu)
|
||||
continue;
|
||||
if (&menu == open_menu.ptr() || open_menu->is_menu_ancestor_of(menu))
|
||||
continue;
|
||||
menus_to_close.append(open_menu);
|
||||
menus_to_close.append(*open_menu);
|
||||
}
|
||||
close_menus(menus_to_close);
|
||||
}
|
||||
|
||||
void MenuManager::close_menus(const Vector<Menu*>& menus)
|
||||
void MenuManager::close_menus(const Vector<Menu&>& menus)
|
||||
{
|
||||
for (auto& menu : menus) {
|
||||
if (menu == m_current_menu)
|
||||
if (&menu == m_current_menu)
|
||||
clear_current_menu();
|
||||
menu->set_visible(false);
|
||||
menu->clear_hovered_item();
|
||||
menu.set_visible(false);
|
||||
menu.clear_hovered_item();
|
||||
m_open_menu_stack.remove_first_matching([&](auto& entry) {
|
||||
return entry == menu;
|
||||
return entry == &menu;
|
||||
});
|
||||
}
|
||||
refresh();
|
||||
}
|
||||
|
||||
static void collect_menu_subtree(Menu& menu, Vector<Menu*>& menus)
|
||||
static void collect_menu_subtree(Menu& menu, Vector<Menu&>& menus)
|
||||
{
|
||||
menus.append(&menu);
|
||||
menus.append(menu);
|
||||
for (size_t i = 0; i < menu.item_count(); ++i) {
|
||||
auto& item = menu.item(i);
|
||||
if (!item.is_submenu())
|
||||
|
@ -265,7 +265,7 @@ static void collect_menu_subtree(Menu& menu, Vector<Menu*>& menus)
|
|||
|
||||
void MenuManager::close_menu_and_descendants(Menu& menu)
|
||||
{
|
||||
Vector<Menu*> menus_to_close;
|
||||
Vector<Menu&> menus_to_close;
|
||||
collect_menu_subtree(menu, menus_to_close);
|
||||
close_menus(menus_to_close);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue