config/output: Use all outputs for config merge

When storing a config, we need to find the output that is being
configured to extract its identifier. output_by_name_or_id does not
return outputs that are disabled, and using this makes it impossible to
merge configurations related to disabled outputs.

Switch to all_outputs_by_name_or_id.

Fixes: https://github.com/swaywm/sway/issues/8141
This commit is contained in:
Kenny Levinsen 2024-05-01 14:19:54 +02:00 committed by Simon Zeni
parent 646019cad9
commit ee5c4f38c9

View file

@ -210,7 +210,7 @@ static void merge_output_config(struct output_config *dst, struct output_config
void store_output_config(struct output_config *oc) { void store_output_config(struct output_config *oc) {
bool merged = false; bool merged = false;
bool wildcard = strcmp(oc->name, "*") == 0; bool wildcard = strcmp(oc->name, "*") == 0;
struct sway_output *output = wildcard ? NULL : output_by_name_or_id(oc->name); struct sway_output *output = wildcard ? NULL : all_output_by_name_or_id(oc->name);
char id[128]; char id[128];
if (output) { if (output) {