]> git.mdlowis.com Git - proto/labwc.git/commitdiff
menu.c: Handle out of screen submenus
authorConsolatis <35009135+Consolatis@users.noreply.github.com>
Wed, 16 Mar 2022 04:51:36 +0000 (05:51 +0100)
committerJohan Malm <johanmalm@users.noreply.github.com>
Wed, 16 Mar 2022 18:21:32 +0000 (18:21 +0000)
Fixes #276

src/menu/menu.c

index 2f34d4e39a1e2841459e1bb2772ba0ba06c8002e..d3e54cebc229c053aea1ed029b8cf0c916fcbad9 100644 (file)
@@ -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);