get_output_by_name: guard output->primary with require_active

This is related to #4048 but might not fix it completely. Either way,
this should be the correct behaviour of the function.
This commit is contained in:
Orestis Floros
2020-05-14 21:53:21 +02:00
parent f63a4bef54
commit 0fb56a92d0

View File

@ -51,12 +51,12 @@ Output *get_output_by_name(const char *name, const bool require_active) {
Output *output;
bool get_primary = (strcasecmp("primary", name) == 0);
TAILQ_FOREACH (output, &outputs, outputs) {
if (output->primary && get_primary) {
return output;
}
if (require_active && !output->active) {
continue;
}
if (output->primary && get_primary) {
return output;
}
struct output_name *output_name;
SLIST_FOREACH (output_name, &output->names_head, names) {
if (strcasecmp(output_name->name, name) == 0) {