Prior to this commit, nesting the same menus caused stack overflow at
`close_all_submenus()` when trying to open it.
}
struct menu *menu = menu_get_by_id(server, id);
+
+ struct menu *iter = current_menu;
+ while (iter) {
+ if (iter == menu) {
+ wlr_log(WLR_ERROR, "menus with the same id '%s' "
+ "cannot be nested", id);
+ goto error;
+ }
+ iter = iter->parent;
+ }
+
if (menu) {
current_item = item_create(current_menu, menu->label, true);
if (current_item) {