2 parents 3f02638 + db6e587 commit 87c7e87Copy full SHA for 87c7e87
1 file changed
scene/gui/popup_menu.cpp
@@ -2424,7 +2424,8 @@ void PopupMenu::clear(bool p_free_submenus) {
2424
}
2425
2426
if (!global_menu_name.is_empty()) {
2427
- for (int i = 0; i < items.size(); i++) {
+ DisplayServer *ds = DisplayServer::get_singleton();
2428
+ for (int i = items.size() - 1; i >= 0; i--) {
2429
Item &item = items.write[i];
2430
if (!item.submenu.is_empty()) {
2431
PopupMenu *pm = Object::cast_to<PopupMenu>(get_node_or_null(item.submenu));
@@ -2433,8 +2434,8 @@ void PopupMenu::clear(bool p_free_submenus) {
2433
2434
2435
item.submenu_bound = false;
2436
2437
+ ds->global_menu_remove_item(global_menu_name, i);
2438
- DisplayServer::get_singleton()->global_menu_clear(global_menu_name);
2439
2440
items.clear();
2441
0 commit comments