From 428423cfa90c91902193ff3da303543173b57fdc Mon Sep 17 00:00:00 2001 From: Consolatis <35009135+Consolatis@users.noreply.github.com> Date: Wed, 16 Mar 2022 05:51:36 +0100 Subject: [PATCH] menu.c: Handle out of screen submenus Fixes #276 --- src/menu/menu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/menu/menu.c b/src/menu/menu.c index 2f34d4e3..d3e54ceb 100644 --- a/src/menu/menu.c +++ b/src/menu/menu.c @@ -357,6 +357,12 @@ menu_configure(struct menu *menu, int lx, int ly, enum menu_align align) double oy = ly; struct wlr_output *wlr_output = wlr_output_layout_output_at( menu->server->output_layout, lx, ly); + if (!wlr_output) { + wlr_log(WLR_ERROR, + "Failed to position menu %s (%s) and its submenus: " + "Not enough screen space", menu->id, menu->label); + return; + } wlr_output_layout_output_coords(menu->server->output_layout, wlr_output, &ox, &oy); struct wlr_box usable = output_usable_area_from_cursor_coords(menu->server);