From ba4042da1e25ee8ff0f95be242b5a865a0141669 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Tue, 30 May 2017 11:00:20 -0400 Subject: [PATCH] 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 --- src/lib/ecore_drm2/ecore_drm2_outputs.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c index ae1a0c9654..3173165aa5 100644 --- a/src/lib/ecore_drm2/ecore_drm2_outputs.c +++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c @@ -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) {