compositor: Fix default transforms when output section declared

Regardless of the default transform passed in, weston_parse_transform
would always return 'normal' if there was an output section. This is
because, if a section was declared for that output, it would ask
weston_config for the transform, with the default being 'normal'.

Fix it so we return the passed-in default transform when we have a
matching output section without a transform key. If the transform is
declared but invalid, we can remove the line resetting to the default
transform, because we've already set the default transform up top.

Signed-off-by: Daniel Stone <daniels@collabora.com>
dev
Daniel Stone 5 years ago
parent 467e6b9883
commit 31af69d868
  1. 7
      compositor/main.c

@ -1214,17 +1214,18 @@ wet_output_set_transform(struct weston_output *output,
uint32_t default_transform,
uint32_t parsed_transform)
{
char *t;
char *t = NULL;
uint32_t transform = default_transform;
if (section) {
weston_config_section_get_string(section,
"transform", &t, "normal");
"transform", &t, NULL);
}
if (t) {
if (weston_parse_transform(t, &transform) < 0) {
weston_log("Invalid transform \"%s\" for output %s\n",
t, output->name);
transform = default_transform;
}
free(t);
}

Loading…
Cancel
Save