summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Hughes <hughsient@gmail.com>2013-05-02 10:10:04 +0100
committerKristian Høgsberg <krh@bitplanet.net>2013-05-02 09:53:20 -0400
commitafe690cbcf8e6fc729628262c6e4f9999fb1a8c1 (patch)
tree8594019391ab2635a09680171dac20cfba7c7007
parenteb2074a18bd272b0c8011069f8d510071b95caab (diff)
Move the optional output name property from drm_output to weston_output
In the future the CMS plugins will need to read the config file and setup a list of hardcoded names to ICC profiles.
-rw-r--r--src/compositor-drm.c11
-rw-r--r--src/compositor.c1
-rw-r--r--src/compositor.h1
3 files changed, 6 insertions, 7 deletions
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index a51ac2b4..f39096e4 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -146,7 +146,6 @@ struct drm_edid {
struct drm_output {
struct weston_output base;
- char *name;
uint32_t crtc_id;
int pipe;
uint32_t connector_id;
@@ -1072,7 +1071,6 @@ drm_output_destroy(struct weston_output *output_base)
weston_output_destroy(&output->base);
wl_list_remove(&output->base.link);
- free(output->name);
free(output);
}
@@ -1695,7 +1693,7 @@ create_output_for_connector(struct drm_compositor *ec,
else
type_name = "UNKNOWN";
snprintf(name, 32, "%s%d", type_name, connector->connector_type_id);
- output->name = strdup(name);
+ output->base.name = strdup(name);
output->crtc_id = resources->crtcs[i];
output->pipe = i;
@@ -1730,7 +1728,7 @@ create_output_for_connector(struct drm_compositor *ec,
configured = NULL;
wl_list_for_each(temp, &configured_output_list, link) {
- if (strcmp(temp->name, output->name) == 0) {
+ if (strcmp(temp->name, output->base.name) == 0) {
if (temp->mode)
weston_log("%s mode \"%s\" in config\n",
temp->name, temp->mode);
@@ -1784,7 +1782,7 @@ create_output_for_connector(struct drm_compositor *ec,
output->base.current = &current->base;
if (output->base.current == NULL) {
- weston_log("no available modes for %s\n", output->name);
+ weston_log("no available modes for %s\n", output->base.name);
goto err_free;
}
@@ -1834,7 +1832,7 @@ create_output_for_connector(struct drm_compositor *ec,
&ec->base.primary_plane);
weston_log("Output %s, (connector %d, crtc %d)\n",
- output->name, output->connector_id, output->crtc_id);
+ output->base.name, output->connector_id, output->crtc_id);
wl_list_for_each(m, &output->base.mode_list, link)
weston_log_continue(" mode %dx%d@%.1f%s%s%s\n",
m->width, m->height, m->refresh / 1000.0,
@@ -1859,7 +1857,6 @@ err_free:
drmModeFreeCrtc(output->original_crtc);
ec->crtc_allocator &= ~(1 << output->crtc_id);
ec->connector_allocator &= ~(1 << output->connector_id);
- free(output->name);
free(output);
return -1;
diff --git a/src/compositor.c b/src/compositor.c
index c1acd500..a6610e6a 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2908,6 +2908,7 @@ weston_output_destroy(struct weston_output *output)
wl_signal_emit(&output->destroy_signal, output);
+ free(output->name);
pixman_region32_fini(&output->region);
pixman_region32_fini(&output->previous_damage);
output->compositor->output_id_pool &= ~(1 << output->id);
diff --git a/src/compositor.h b/src/compositor.h
index 63d11274..7da6c484 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -156,6 +156,7 @@ enum dpms_enum {
struct weston_output {
uint32_t id;
+ char *name;
void *renderer_state;