static int
drm_head_read_current_setup(struct drm_head *head, struct drm_backend *backend)
{
- drmModeModeInfo *mode = &head->inherited_mode;
int drm_fd = backend->drm.fd;
drmModeEncoder *encoder;
drmModeCrtc *crtc;
/* Get the current mode on the crtc that's currently driving
* this connector. */
encoder = drmModeGetEncoder(drm_fd, head->connector->encoder_id);
- memset(mode, 0, sizeof *mode);
if (encoder != NULL) {
crtc = drmModeGetCrtc(drm_fd, encoder->crtc_id);
drmModeFreeEncoder(encoder);
if (crtc == NULL)
return -1;
if (crtc->mode_valid)
- *mode = crtc->mode;
+ head->inherited_mode = crtc->mode;
drmModeFreeCrtc(crtc);
}
if (drm_head_read_current_setup(head, backend) < 0) {
weston_log("Failed to retrieve current mode from connector %d.\n",
head->connector_id);
- /* Continue, inherited_mode was memset to zero. */
+ /* Not fatal. */
}
weston_compositor_add_head(backend->compositor, &head->base);