From 2ffa4f3fce966e3312c0b1ce8c4369d655dce902 Mon Sep 17 00:00:00 2001 From: emersion Date: Sat, 7 Oct 2017 14:01:25 +0200 Subject: When output has no modes, send one anyway --- types/wlr_output.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/types/wlr_output.c b/types/wlr_output.c index 6149cd3c..f167a213 100644 --- a/types/wlr_output.c +++ b/types/wlr_output.c @@ -19,8 +19,8 @@ static void wl_output_send_to_resource(struct wl_resource *resource) { const uint32_t version = wl_resource_get_version(resource); if (version >= WL_OUTPUT_GEOMETRY_SINCE_VERSION) { wl_output_send_geometry(resource, 0, 0, // TODO: get position from layout? - output->phys_width, output->phys_height, output->subpixel, - output->make, output->model, output->transform); + output->phys_width, output->phys_height, output->subpixel, + output->make, output->model, output->transform); } if (version >= WL_OUTPUT_MODE_SINCE_VERSION) { for (size_t i = 0; i < output->modes->length; ++i) { @@ -31,7 +31,13 @@ static void wl_output_send_to_resource(struct wl_resource *resource) { flags |= WL_OUTPUT_MODE_CURRENT; } wl_output_send_mode(resource, flags, - mode->width, mode->height, mode->refresh); + mode->width, mode->height, mode->refresh); + } + + if (output->modes->length == 0) { + // Output has no mode, send the current width/height + wl_output_send_mode(resource, WL_OUTPUT_MODE_CURRENT, + output->width, output->height, 0); } } if (version >= WL_OUTPUT_SCALE_SINCE_VERSION) { -- cgit v1.2.3