From 09733e233feffe5ec088d10f4de03df8594ec68b Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 16 Sep 2018 14:18:13 +1000 Subject: Fix crash when unmapping last child of a tabbed workspace * Create layout T[view view] * Move the cursor into the title bar area * Close both views Sway would crash because container_at_tabbed would attempt to divide by zero when there are no children. The children check isn't needed for the stacked function because it doesn't divide anything by the number of children. Fixes #2636. --- sway/tree/container.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sway/tree/container.c b/sway/tree/container.c index df064573..f906449a 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c @@ -202,6 +202,9 @@ static struct sway_container *container_at_tabbed(struct sway_node *parent, } struct sway_seat *seat = input_manager_current_seat(input_manager); list_t *children = node_get_children(parent); + if (!children->length) { + return NULL; + } // Tab titles int title_height = container_titlebar_height(); -- cgit v1.2.3