aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwil <william.barsse@gmail.com>2016-12-21 16:58:38 +0100
committerwil <william.barsse@gmail.com>2016-12-29 20:31:30 +0100
commited71e67d7e46746a36a4c2437d143f52aa17b666 (patch)
treecf50a88d7834dade7df911923148f0aa0143194e
parent8b0073b1954b54792f74b9e024c51548143906ea (diff)
downloadsway-ed71e67d7e46746a36a4c2437d143f52aa17b666.tar.xz
[fix] handle cases where nb_master > children->length in auto layout
-rw-r--r--sway/layout.c5
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