memset(&destroy_arg, 0x00, sizeof(destroy_arg));
destroy_arg.handle = buffer->handle;
- drmIoctl(drm->fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_arg);
+ if (drmIoctl(drm->fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_arg))
+ PEPPER_ERROR("drmIoctl() failed.\n");
}
if (buffer->image)
memset(&destroy_arg, 0x00, sizeof(destroy_arg));
destroy_arg.handle = buffer->handle;
- drmIoctl(buffer->drm->fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_arg);
+ if (drmIoctl(buffer->drm->fd, DRM_IOCTL_MODE_DESTROY_DUMB, &destroy_arg))
+ PEPPER_ERROR("drmIoctl failed.\n");
} else if (buffer->type == DRM_BUFFER_TYPE_GBM) {
gbm_bo_set_user_data(buffer->bo, NULL, NULL);
gbm_surface_release_buffer(buffer->surface, buffer->bo);
for (i = 0; i < drm->resources->count_connectors; i++) {
drm_connector_t *conn = calloc(1, sizeof(drm_connector_t));
- PEPPER_CHECK(conn, continue, "calloc() failed.\n");
+ PEPPER_CHECK(conn, return, "calloc() failed.\n");
conn->drm = drm;
conn->id = drm->resources->connectors[i];
output->drm = drm;
output->conn = conn;
output->crtc_index = find_crtc_for_connector(conn);
+ if (output->crtc_index == -1) {
+ PEPPER_ERROR("find_crtc_for_connector() failed.\n");
+ free(output);
+ return NULL;
+ }
+
output->crtc_id = drm->resources->crtcs[output->crtc_index];
output->saved_crtc = drmModeGetCrtc(drm->fd, output->crtc_id);
output->mode = &conn->connector->modes[0];
fini_gl_renderer(output);
if (output->saved_crtc) {
- drmModeSetCrtc(output->conn->drm->fd,
+ if (drmModeSetCrtc(output->conn->drm->fd,
output->saved_crtc->crtc_id,
output->saved_crtc->buffer_id,
output->saved_crtc->x, output->saved_crtc->y,
- &output->conn->connector->connector_id, 1, &output->saved_crtc->mode);
+ &output->conn->connector->connector_id, 1, &output->saved_crtc->mode))
+ PEPPER_ERROR("drmModeSetCrtc was failed.\n");
drmModeFreeCrtc(output->saved_crtc);
}
while (num_output--) {
output = (pepper_tdm_output_t *)calloc(1, sizeof(pepper_tdm_output_t));
- PEPPER_CHECK(output, continue, "Failed to allocate memory for pepper_tdm_output_t\n");
+ PEPPER_CHECK(output, goto error, "Failed to allocate memory for pepper_tdm_output_t\n");
output->tdm = tdm;
output->output = (tdm_output *)tdm_display_get_output(tdm->disp, num_output,
&err);