swc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/swc
Log | Files | Refs | README | LICENSE

commit c81f3cc313e2fd1e0fea61664646aaee4d4c9e06
parent 9e97a1785bda7efba0cfd6f172629eab38b8b09b
Author: Michael Forney <mforney@mforney.org>
Date:   Sun,  1 May 2016 14:37:49 -0700

Pick the first mode if none is marked as preferred

NVIDIA's DRM driver does not seem to use DRM_MODE_TYPE_PREFERRED.

Diffstat:
Mlibswc/output.c | 8+++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libswc/output.c b/libswc/output.c @@ -72,6 +72,7 @@ output_new(drmModeConnectorPtr connector) output->physical_width = connector->mmWidth; output->physical_height = connector->mmHeight; + output->preferred_mode = NULL; wl_list_init(&output->resources); wl_array_init(&output->modes); @@ -80,8 +81,10 @@ output_new(drmModeConnectorPtr connector) output->connector = connector->connector_id; - modes = wl_array_add(&output->modes, connector->count_modes * sizeof *modes); + if (connector->count_modes == 0) + goto error2; + modes = wl_array_add(&output->modes, connector->count_modes * sizeof *modes); if (!modes) goto error2; @@ -92,6 +95,9 @@ output_new(drmModeConnectorPtr connector) output->preferred_mode = &modes[i]; } + if (!output->preferred_mode) + output->preferred_mode = &modes[0]; + return output; error2: