Skip to content

Commit 87c7e87

Browse files
committed
Merge pull request godotengine#87249 from bruvzg/macos_menu_clear
[macOS] Do not unbind PopupMenu from global menu on `clear` call.
2 parents 3f02638 + db6e587 commit 87c7e87

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

scene/gui/popup_menu.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2424,7 +2424,8 @@ void PopupMenu::clear(bool p_free_submenus) {
24242424
}
24252425

24262426
if (!global_menu_name.is_empty()) {
2427-
for (int i = 0; i < items.size(); i++) {
2427+
DisplayServer *ds = DisplayServer::get_singleton();
2428+
for (int i = items.size() - 1; i >= 0; i--) {
24282429
Item &item = items.write[i];
24292430
if (!item.submenu.is_empty()) {
24302431
PopupMenu *pm = Object::cast_to<PopupMenu>(get_node_or_null(item.submenu));
@@ -2433,8 +2434,8 @@ void PopupMenu::clear(bool p_free_submenus) {
24332434
}
24342435
item.submenu_bound = false;
24352436
}
2437+
ds->global_menu_remove_item(global_menu_name, i);
24362438
}
2437-
DisplayServer::get_singleton()->global_menu_clear(global_menu_name);
24382439
}
24392440
items.clear();
24402441

0 commit comments

Comments
 (0)