ecore-drm2: Don't fill output atomic states if not using atomic

If atomic support is not enabled (kernel or env var), then we should
not be filling in output atomic state

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2017-05-30 11:00:20 -04:00
parent ac2c82b871
commit ba4042da1e
1 changed files with 14 additions and 8 deletions

View File

@ -766,12 +766,15 @@ _output_create(Ecore_Drm2_Device *dev, const drmModeRes *res, const drmModeConne
output->ocrtc = sym_drmModeGetCrtc(dev->fd, output->crtc_id);
output->crtc_state =
_output_crtc_state_get(dev->state, output->crtc_id);
output->conn_state =
_output_conn_state_get(dev->state, output->conn_id);
output->plane_states =
_output_plane_states_get(dev->state, output->crtc_id, output->pipe);
if (_ecore_drm2_use_atomic)
{
output->crtc_state =
_output_crtc_state_get(dev->state, output->crtc_id);
output->conn_state =
_output_conn_state_get(dev->state, output->conn_id);
output->plane_states =
_output_plane_states_get(dev->state, output->crtc_id, output->pipe);
}
output->dpms = _output_dpms_property_get(dev->fd, conn);
@ -926,8 +929,11 @@ _output_destroy(Ecore_Drm2_Device *dev, Ecore_Drm2_Output *output)
EINA_LIST_FREE(output->planes, plane)
free(plane);
free(output->conn_state);
free(output->crtc_state);
if (_ecore_drm2_use_atomic)
{
free(output->conn_state);
free(output->crtc_state);
}
EINA_LIST_FREE(output->modes, mode)
{