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 committed by Michael Stapelberg
parent 96639c0410
commit 551d0a5b13

View File

@ -48,12 +48,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) {