commit c81f3cc

Michael Forney  ·  2016-05-01 21:37:49 +0000 UTC
parent 9e97a17
Pick the first mode if none is marked as preferred

NVIDIA's DRM driver does not seem to use DRM_MODE_TYPE_PREFERRED.
1 files changed,  +7, -1
+7, -1
 1@@ -72,6 +72,7 @@ output_new(drmModeConnectorPtr connector)
 2 
 3 	output->physical_width = connector->mmWidth;
 4 	output->physical_height = connector->mmHeight;
 5+	output->preferred_mode = NULL;
 6 
 7 	wl_list_init(&output->resources);
 8 	wl_array_init(&output->modes);
 9@@ -80,8 +81,10 @@ output_new(drmModeConnectorPtr connector)
10 
11 	output->connector = connector->connector_id;
12 
13-	modes = wl_array_add(&output->modes, connector->count_modes * sizeof *modes);
14+	if (connector->count_modes == 0)
15+		goto error2;
16 
17+	modes = wl_array_add(&output->modes, connector->count_modes * sizeof *modes);
18 	if (!modes)
19 		goto error2;
20 
21@@ -92,6 +95,9 @@ output_new(drmModeConnectorPtr connector)
22 			output->preferred_mode = &modes[i];
23 	}
24 
25+	if (!output->preferred_mode)
26+		output->preferred_mode = &modes[0];
27+
28 	return output;
29 
30 error2: