From bff5b2c5597b30b90b201825b6c1c6537bb06d84 Mon Sep 17 00:00:00 2001 From: John Lindgren Date: Mon, 29 Nov 2021 08:12:45 -0500 Subject: [PATCH] Insert new outputs at the end of the list This prevents auto-configuring a new output from changing the position of existing outputs. (v2: simplify insert-at-end logic) --- types/wlr_output_layout.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/types/wlr_output_layout.c b/types/wlr_output_layout.c index 782f5b71..eb672f06 100644 --- a/types/wlr_output_layout.c +++ b/types/wlr_output_layout.c @@ -185,7 +185,12 @@ static struct wlr_output_layout_output *output_layout_output_create( l_output->state->layout = layout; l_output->output = output; wl_signal_init(&l_output->events.destroy); - wl_list_insert(&layout->outputs, &l_output->link); + + /* + * Insert at the end of the list so that auto-configuring the + * new output doesn't change the layout of other outputs + */ + wl_list_insert(layout->outputs.prev, &l_output->link); wl_signal_add(&output->events.mode, &l_output->state->mode); l_output->state->mode.notify = handle_output_mode;