diff options
author | wil <william.barsse@gmail.com> | 2016-12-21 16:58:38 +0100 |
---|---|---|
committer | wil <william.barsse@gmail.com> | 2016-12-29 20:31:30 +0100 |
commit | ed71e67d7e46746a36a4c2437d143f52aa17b666 (patch) | |
tree | cf50a88d7834dade7df911923148f0aa0143194e | |
parent | 8b0073b1954b54792f74b9e024c51548143906ea (diff) | |
download | sway-ed71e67d7e46746a36a4c2437d143f52aa17b666.tar.xz |
[fix] handle cases where nb_master > children->length in auto layout
-rw-r--r-- | sway/layout.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sway/layout.c b/sway/layout.c index 52473d0d..0428ecf9 100644 --- a/sway/layout.c +++ b/sway/layout.c @@ -1209,15 +1209,14 @@ void apply_auto_layout(swayc_t *container, const double x, const double y, group_dim = old_group_dim[layout_group] * scale; if (container->nb_master > 0 && layout_group == 0) { start = 0; - end = container->nb_master; + end = MIN(container->nb_master, container->children->length); } else { if (group == 0) { start = container->nb_master; } else { start = end; } - end = start + - (nb_slaves - start + container->nb_master) / (nb_groups - layout_group); + end = start + (nb_slaves - start + container->nb_master) / (nb_groups - layout_group); } if (group == nb_groups - 1) { group_dim = pos_maj + dim_maj - pos; // remaining width |