sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 9bb70283e967037e6d57bc863ef96d3b5185a989
parent 39d677af15bd4c8cdea6b62fda80ac9a9e998045
Author: Simon Ser <contact@emersion.fr>
Date:   Sun, 12 Jul 2020 16:50:11 +0200

Assert output is found before removing from list

References: https://github.com/swaywm/sway/issues/5483

Diffstat:
Msway/tree/output.c | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sway/tree/output.c b/sway/tree/output.c @@ -251,6 +251,11 @@ void output_disable(struct sway_output *output) { if (!sway_assert(output->enabled, "Expected an enabled output")) { return; } + int index = list_find(root->outputs, output); + if (!sway_assert(index >= 0, "Output not found in root node")) { + return; + } + sway_log(SWAY_DEBUG, "Disabling output '%s'", output->wlr_output->name); wl_signal_emit(&output->events.destroy, output); @@ -258,7 +263,6 @@ void output_disable(struct sway_output *output) { root_for_each_container(untrack_output, output); - int index = list_find(root->outputs, output); list_del(root->outputs, index); output->enabled = false;