libweston: assert current_mode in weston_output_enable()

The functions called here, particularly
weston_output_transform_scale_init(), rely on current mode being set.
The current mode must also be found in the mode list, though we don't
explicitly check it here.

current_mode not being set is a programmer error. It could be a backend
bug, but it could also be a libweston user bug not calling a set size
function.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Ian Ray <ian.ray@ge.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Derek Foreman <derekf@osg.samsung.com>
This commit is contained in:
Pekka Paalanen 2017-09-14 16:17:59 +03:00
parent ec25b0a844
commit 586e1ac791

View File

@ -5539,6 +5539,12 @@ weston_output_enable(struct weston_output *output)
return -1;
}
if (wl_list_empty(&output->mode_list) || !output->current_mode) {
weston_log("Error: no video mode for output '%s'.\n",
output->name);
return -1;
}
wl_list_for_each(head, &output->head_list, output_link) {
assert(head->make);
assert(head->model);