summaryrefslogtreecommitdiff
path: root/libweston/compositor-drm.c
diff options
context:
space:
mode:
Diffstat (limited to 'libweston/compositor-drm.c')
-rw-r--r--libweston/compositor-drm.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
index e3fe7d59..b9014c8a 100644
--- a/libweston/compositor-drm.c
+++ b/libweston/compositor-drm.c
@@ -3327,6 +3327,7 @@ create_output_for_connector(struct drm_backend *b,
struct drm_output *output;
drmModeObjectPropertiesPtr props;
struct drm_mode *drm_mode;
+ char *name;
int i;
static const struct drm_property_info connector_props[] = {
@@ -3354,10 +3355,13 @@ create_output_for_connector(struct drm_backend *b,
output->original_crtc = drmModeGetCrtc(b->drm.fd, output->crtc_id);
+ name = make_connector_name(connector);
+ weston_output_init(&output->base, b->compositor, name);
+ free(name);
+
output->base.enable = drm_output_enable;
output->base.destroy = drm_output_destroy;
output->base.disable = drm_output_disable;
- output->base.name = make_connector_name(connector);
output->destroy_pending = 0;
output->disable_pending = 0;
@@ -3373,8 +3377,6 @@ create_output_for_connector(struct drm_backend *b,
find_and_parse_output_edid(b, output, props);
drmModeFreeObjectProperties(props);
- weston_output_init(&output->base, b->compositor);
-
for (i = 0; i < output->connector->count_modes; i++) {
drm_mode = drm_output_add_mode(output, &output->connector->modes[i]);
if (!drm_mode) {